Outreach Program for Women
This year, for the first time, we are participating in the Outreach Program for Women. The program will be running from June 17th - September 23rd 2013. The application deadline has been extended to May 8 and the required first contribution is due by May 17.
The main program page contains general information about the program such as the timeline, background information, eligibility, requirements, and the application form.
We would encourage potential interns to start getting involved with their communities and and to start thinking about project ideas now.
Interns are encouraged to come up with their own project ideas. We will, however, but putting together a list of suggestions and possible mentors.
Working on Dancer
Dancer is a simple but powerful web application framework for Perl
Possible tasks could include working on documentation, design, code refactor, feature implementations, feature smoothing, Git branches cleanup, ticket queue cleanup, marketing, coordinating efforts with the community and the team themselves.
For more information about the possibilities and to begin contributing please contact the mentor for this project: sawyer x - xsawyerx at cpan.org.
Working on MetaCPAN
http://metacpan.org is an open source search engine for the Comprehensive Perl Archive Network (CPAN), an ever growing archive of code and documentation for
the Perl programming language.
MetaCPAN is a community effort, with all the code freely available on GitHub. We are a relatively young open source project. At this point, MetaCPAN is about 2.5 years old. It's old enough to have become an important and well utilized part of the Perl world, but it's also young enough to have lots of room to evolve. As you will see we have many ideas and encourage more suggestions. You'll find one a current list of our many code contributors here: https://metacpan.org/about/contributors
Our code base is based on current best practices and modern web technologies. Our stack includes Catalyst, Plack, ElasticSearch, jQuery, Bootstrap and nginx. We also use Puppet for deployment and Vagrant + VirtualBox for development VMs. We have integration with Twitter, Github, PAUSE, Facebook and Google. All code is managed on Github and we have an active channel (#metacpan) on irc.perl.org.
There are many available projects within MetaCPAN which you could take on or contribute to and there is also room for you to suggest improvements which you would like to make. The project list is ever growing and subject to change as volunteers take items on, but here's a sampling of what we'd love for you to consider working on.
This is one of the most important things which MetaCPAN potentially can offer to the Perl community at large. A way for users to contribute to the categorizing and organization of the many, many available modules on CPAN. "There's more than one way to do it" is a good thing, but it can also get in the way of solving a problem when you are faced with too many choices. Some thoughts on tagging are posted here: http://blogs.perl.org/users/olaf_alders/2013/03/sifting-through-the-cpan.html
Web of Trust.
Dave Rolsky, back in 2010 posted an idea he had about how to mark modules as trustworthy (ie used by people he trusts). He said: "I've long wanted some sort of "web of trust" system for CPAN. A CPAN user would mark authors and/or distributions as trusted. We’d take the graph of trust relationships and try to figure out which authors and modules are most trusted. Trust here would be some combination of good code, good docs, responsive author, whatever. The idea is to organically highlight the best of CPAN, and in particular help people discover the best modules in their class. I think this would be really useful for new users, and a lot more useful than the current CPAN rating system."
Using ++ data (which we already have) and possibly module tagging, we can provide "web of trust" data. This does not, however, require the module tagging implementation to be useful and this would be of great value to many in the Perl community.
There are hundreds of outstanding issues waiting to be resolved. The large number of tickets is not indicative of a lack of response on the part of MetaCPAN developers (we try to stay on top of them), but it indicates the enthusiasm with which people are helping us track ways to improve. Starting with some open issues would be a good way to familiarize yourself with our codebase.
Because things traditionally have changed so rapidly, our documentation has either not kept up or not been written to completion. You can help us (and many Perl developers) by documenting the API and posting example code for both new and experienced MetaCPAN users. For example, most people do not know that MetaCPAN can function as an OAuth provider and could, therefore, be used for authenticating users across a range of Perl services. You could post example code for this use case and help facilitate MetaCPAN OAuth integrations.
MetaCPAN is used by web, command line, Android and iOS apps, so there are many kinds of examples which could be documented.
What Can We Offer you?
It's already clear from the materials above that there are many ways for you to make your mark on MetaCPAN, but what can we offer you? You will have the chance to be mentored by experienced (and employed) Perl developers. We will carefully review all of your code and give you constructive (and kind) feedback. We will help you improve your code and your coding practices. MetaCPAN is a positive place. We will help you get from A to B with your code, but your work won't be trashed and you won't be insulted. We value all contributions and we want every contributor to know that she or he is appreciated. There are some harsh places on the Internet and in Open Source. This is not one of them.
You'll have the chance to learn about the technologies as listed in our "stack" above. You will have help and guidance in working with these technologies from people who are quite familiar with them. Your code will deploy on robust hardware (think 30+ GB of RAM). Your code will often deploy within hours or even minutes of being submitted. Your work will immediately be put to the test by our many users on our very busy services. You'll gain experience in NoSQL (ElasticSearch), git, and also in participating in an Open Source project which functions as a highly available web service. You will gain experience not just in writing code, but in participating in the full cycle of code deployment, skills which are quite valuable in the real world.
If any of this sounds remotely interesting to you, please don't hesitate to get in touch. You can contact me directly via the information listed below. If you just want to see how you like the project, feel free to get involved via github, IRC or both. We'll guide you through the process and you can decide for yourself if it's a good fit for you. We look forward to hearing from you.
IRC: oalders (always in #metacpan on irc.perl.org)
Our github org: https://github.com/CPAN-API/
(On IRC you can ping me ("oalders"), or "mo", "ranguard" or "rwstauner" to get the most up to date information, but there are also many others in the channel who are very helpful.)
Work on Moose
Convert Moose's exceptions from plain strings to objects (aka "structured exceptions"). Moose's stringy exceptions are one place where we really screwed up the design. Exception objects afford categorization, annotation, internationalization, and so on. This refactoring would lead to a more robust ecosystem, all the way from Moose's core through to third-party applications. This work would even inform the design of new libraries and applications, since authors look to Moose's own design for best practices.
|March 27||application period opens|
|March 27 - May 1||applicants need to get in touch with at least one project and make a contribution to it|
|May 8||application deadline at 7pm UTC|
|May 27||accepted participants announced on this page at 7pm UTC|
|June 17 - September 23||internship period|
The GNOME Foundation will be administering the payments of the $5,000 (USD) stipends.
|June 20||$500 will be sent to participants who have begun their internships by this date|
|July 30||$2250 will be sent to participants in good standing with their mentors by this date|
|September 27||$2250 will be sent to participants who have successfully completed their internships by this date|