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.