With a little bit of luck, I hope to have enough typing time (outside work) and stability this summer to think about mentoring GSoc. If I submit some project ideas later today then we may not be too late.

Ideas:

* Refactor Apache Rat Core [1]
* License Lexicon [2]
* More Tentacles [3]
* Port Rat [4]

Opinions? Objections? Improvements?

If anyone else wants to dive in with new ideas, that would be very much appreciated - or just dive in and create them in JIRA.

For more information see:

http://www.google-melange.com/gsoc/homepage/google/gsoc2013
http://community.apache.org/guide-to-being-a-mentor.html
http://s.apache.org/gsoc2013ideas
http://community.apache.org/gsoc.html

Apologies for picking this up so late :-/

Robert

[1] Refactor Apache Rat Core

The base code for Apache Rat has issues which lead to a high bar for contribution:

* based on an experimental streaming architecture
* hard to understand
* poorly covered by edge-to-edge tests

For a student interested in agile test-first approaches and object oriented design, driving a new core with a conventional OOP design would be an interesting introduction to open source and would reduce the barriers to contribution.

[2] License Lexicon

Both Rat and Whiskers lack a comprehensive library and consistent terminology for licenses. This project would both compile a set of meta-data, plus support libraries which could be reused both by these projects and more widely. Collate comprehensive license meta-data, beginning with all OSI approved open source licenses and working outwards to include other common binary only licenses including:

* descriptions of common source boilerplates
* generation and recognition templates
* consistent language, both machine and human readable

This is most suitable for students whose interests focus more in semantics than coding. For students interested in text parsing, this data could be used to create fast parsers. For students interested in technology law, the semantics could be extend to include relationships between licenses. For students more interested in informatics, there would be an opportunity to work on a comprehensive collection. For all students, an opportunity to showcase communication skills.

[3] More Tentacles

Many open source projects at Apache face the problem that one release contains many libraries. Reviewing all these libraries without automated assistance takes time and is error prone. Tentacles builds on Rat to provide this assistance. This project will be organised in an agile fashion around a number of short sprints with direction determined by users in the Apache Incubator and elsewhere.

This is most suitable for a students who is interested in the wider process of developing software well fitting to the needs of users using an Agile process. Focus is essential for an open ended project like this, and adopting an Agile approach is well suited to ensuring success.

[4] Port Rat

Today, Apache Rat supports only Java. Ports to other other languages and build systems would help increase adoption beyond the Java community here at Apache.

* New languages eg Python, Ruby, JavaScript, CoffeeScript
* New build systems eg buildr

For a student interested in using a variety of languages, perhaps one language or build system per week.

Reply via email to