Hi All

I didn't get selected as a GSOC intern for the project i applied Scalable
XWiki on NoSQL (AppEngine, Cassandra ). But i would still like to work on
this project. should i put a mail to the devs list regarding the project.


On Wed, Apr 27, 2011 at 4:47 PM, Sergiu Dumitriu <[email protected]> wrote:

> Hello community, Hello Google Summer of Code students,
>
> First of all, congratulations on your applications and your activity
> during the selection period, and welcome in the XWiki development team.
>
> Before guiding the accepted students to their next steps, we'd like to
> thank again all those who showed interest in XWiki for this Summer of
> Code. We had a lot of good applications this year, with professional
> approaches and interesting ideas, and it was very difficult to choose
> only 3. Unfortunately, some very good students, with great potential,
> were not accepted. So, to those interested in getting involved anyway,
> without Google's implication, I renew the invitation to put your ideas
> in practice under the guidance of the community. Even though the money
> will be missing, you can still take advantage of the other GSoC
> benefits: learning new things, gaining experience, earning recognition,
> etc [1]. If you would like to do that, please let us know by replying to
> this mail.
>
> For the accepted students, here are some getting started hints:
>
> = Community bonding period =
>
> According to the program timeline [2], the next month (until - May 23rd)
> is to be used for community bonding.
>
> The first thing to do, sometime this week, is to present yourself and
> your project on the dev list, so that everyone knows who you are and
> what to expect from you (a precondition is to be subscribed to the list,
> which you should do ASAP if you haven't already).
>
> Also, you should continue getting acquainted with the code, the
> practices and the developers. Please make sure you all read and
> understand the following - very useful - documents:
> - [3] http://purl.org/xwiki/community/
> - [4] http://purl.org/xwiki/dev/
> - [5] http://platform.xwiki.org/xwiki/bin/view/Features/
>
> = Mentorship =
>
> We prefer open mentorship. While your assigned mentor is the one
> officially in charge with your guidance, almost all interaction should
> be done 'in the open' as much as possible, on the IRC channel or on the
> mailing list. You should choose the communication medium according to
> the importance of the matters to be discussed: naturally, the less
> important issues are to be discussed on IRC, while the design decisions,
> important progress announcements and testing/feedback requests go on the
> list. This way, the community is informed on the evolution of your
> project, and other developers can come up anytime with useful ideas and
> suggestions. Moreover, if your mentor is hit by a bus (the bus factor
> [6]), another developer can take his place with little effort.
>
> = Communication =
>
> Sitting alone in your room, working secretly on your project is
> definitely a bad approach. However, please keep in mind that too much
> communication can also be harmful, as it distracts the others from their
> own work. You need to be able to communicate just right:
> - provide meaningful information about your progress,
> - ask the community's opinion on non-trivial design or implementation
> decisions
> - avoid waisting a lot of time on a problem, when a more experienced
> developer (or a student that fought the same problem) could quickly
> provide you an answer; however, do try to find the answer yourself at
> first.
>
> Wrong: "Where do I start? What do I do now? And how do I do that? Is
> this good? It doesn't work, help me!"
>
> Right: "Since a couple of hours ago I get a strange exception when
> building my project, and googling for a solution doesn't seem to help.
> Looking at the error, I think that there's a wrong setting for the
> assembly plugin, but nothing I tried works. Can someone please take a
> look?"
>
> Subscribe to the devs list (if you didn't do this already), and start
> monitoring the discussions. It is also recommended to subscribe to the
> users list, but not mandatory. The notifications list is a little too
> high volume and technical for the moment, but it is a great knowledge
> source.
>
> = Development process =
>
> The project's lifecycle is NOT design -> implementation -> testing ->
> documentation. [7]
>
> We invite you to adopt a test driven development [8][9][10] approach and
> to experience agile development [11]. After the first coding week, you
> must have some code that works. It won't do much, of course, but it will
> be the seed of your project. Every functionality will be validated by
> tests. The code must be properly tested and commented at the time of the
> writing (don't think you'll do that afterwards, because in most cases
> you won't).
>
> Since we've recently moved our codebase to GitHub [12], you should
> register an account there and fork some xwiki repositories, so that you
> can try to build XWiki from sources, and be able to contribute bugfixes.
> We'll add you to the xwiki-contrib organization [13], and we'll create
> dedicated repositories for each project. We encourage you to do __at
> least__ weekly commits (ideally, if you are well organized, you should
> be able to commit code that works daily, so try to aim at daily
> commits). This way, the code can be properly reviewed, and any problems
> can be detected before they grow into something too difficult to fix.
> One big code blob committed at the end, no matter how good it may seem,
> is a failure at several levels.
>
> A simple way of having something functional in the first week is to
> prepare the maven build for your modules, which will give you the first
> unit test for the first class.
>
> = Next steps, in a nutshell =
>
> - Get more familiar with the code and development process and try to
> master Maven, JUnit, Selenium, component driven development, ...
> - Continue fixing a few small issues, chosen so that they are __related
> to your project__. You can ask on IRC for help selecting good issues, or
> you can pick from the (non-comprehensive) list of easy issues [14]
> -- This will help you get more familiar with the code your project needs
> to interact with.
> - Refine and organize the ideas concerning your project (you can use the
> Drafts space [15]), and write several use case scenarios.
> - Start writing the first piece of code for your project.
>
> At the end of the community bonding period, you should have a clear
> vision of the project, well documented on the xwiki.org wiki, you should
> have the build infrastructure ready, and you should be pretty familiar
> with the existing code you will need to interact with. And, of course,
> you should be familiar with the community and the way we communicate.
>
> Good luck, and may we all have a great Summer of Code!
>
> [1] http://www.catb.org/~esr/writings/cathedral-bazaar/homesteading/
> [2]
>
> http://www.google-melange.com/document/show/gsoc_program/google/gsoc2011/timeline
> [3] http://purl.org/xwiki/community/
> [4] http://purl.org/xwiki/dev/
> [5] http://platform.xwiki.org/xwiki/bin/view/Features/
> [6] http://en.wikipedia.org/wiki/Bus_factor
> [7] http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/
> [8] http://en.wikipedia.org/wiki/Test-driven_development
> [9] http://www.amazon.com/dp/0321146530/
> [10] http://www.amazon.com/dp/0201485672/
> [11] http://www.amazon.com/dp/0596527675/
> [12] https://github.com/xwiki/
> [13] https://github.com/xwiki-contrib/
> [14]
>
> http://jira.xwiki.org/jira/secure/IssueNavigator.jspa?mode=hide&requestId=10510
> [15] http://dev.xwiki.org/xwiki/bin/view/Drafts/
> --
> Sergiu Dumitriu
> http://purl.org/net/sergiu/
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>



-- 
Thanks
Pulasthi Supun
www.99gears.com
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to