How to become an Open Source Contributor ?

As a response to a question (on a mailing list) “How to become an Open Source Contributor“, Philip had this awesome response. Quoted here in the entire form.

Hi ,

Each person has their own way of contributing, so I won't tell you
what you should do, I'll only recount my own experience in becoming a
FOSS developer.

Back in 1999, someone sent a mail to the ilug-bom mailing list asking
how to find out which web server was running on a given host, eg, was
it Apache, IIS, Netscape, etc.  I sent in instructions to find this
out using telnet, but then I also realised that it would take not more
than 30 minutes to write a small program to do it, so I wrote a 10
line perl script to do it (I was learning perl at the time, so it was
a good excercise), and called it httptype.  I mailed it to the list,
and uploaded it to my free web hosting account.  Within a few hours,
people were giving me suggestions and reporting bugs, so I released a
new version the next day, and announced it on freshmeat.net.  In a few
days I was getting patches, and then another person on the list showed
me how to use sourceforge and CVS (I did not know any of these things
before), so I did that, and I started getting more patches and feature
requests and downloads.  It was a lot of fun, but ultimately there's a
limit to how many useful features you can add to this kind of simple
program, and it's officially been in a stable and complete state for
about five years now (ie, no bugs, no maintenance required).  I had
been bitten by the FOSS development bug (my code was released under
the GNU GPL), and I started looking for more to do.

In 2001, I started using instant messaging, and was looking for a
client on linux.  I found something called everybuddy, downloaded the
tarball, built it and started using it.  I also joined the mailing
list, and started reporting issues that I found.  The developers were
very friendly, and explained things to me, but for bugs related to the
Yahoo! library, I wasn't getting any responses.  So I started reading
the source code, and using gdb (again, one of the developers showed me
how to do this), and figured out how to fix some of the smaller bugs
(1-2 line changes), and I sent in a patch (I learnt how to make
patches on httptype).  But no one was commenting on the patches or
merging them into the project.  So one day I just got annoyed and
asked the project maintainer who the maintainer of the Yahoo! module
was, and he replied saying, as far as he knew, I was now the
maintainer.  This was a surprise to me, since I did not even have CVS
access, so I harassed him a little more and he gave me write access
(the project was hosted on his personal machine), and I became the
maintainer of the Yahoo! library of everybuddy.  About a year later I
was one of the primary developers, and when the team decided to split
the project into two sub projects, one of the devs from France, and I
became the lead developers of Ayttm.  During this time, I started many
more projects of my own, and kept submitting small one or two line
patches to many more projects (Zope, Squishdot, automake, to name a
few).

I'm not saying that you need to do the same thing, but maybe it will
give you an idea of what you can do.  At no point of time was I
developing open source software as part of my job, this was all stuff
I did in my free time during my lunch break, or in the evenings, or on
weekends, or while I was "waiting for my code to compile".

My advice would be, look for one of these two things:
- Has someone asked a question that you think you can answer through code?
- Is there a tool that you really like using, but have a few minor
bugs you would like fixed?
Ideally, in the latter case, it should be a simple project.  Things
like Firefox, Thuderbird and Evolution are massive projects that it's
pretty hard to get into, but there will also be many mentors to show
you the way.

HTH,

Philip

What in hell’s name was it all about ?

I watched with increasing amount of cringing the spectacle that has been unravelling in the Parliament for nearly 2 days now. The build up to this mega event was beyond doubt – gathering of forces, trading of charges, wild swings of opinion and of course the spectacular display of unbridled opportunism. A long long time back, a friend had commented that in a democracy we get the rascals we deserve. In more ways than one, it proved itself today. The final score isn’t what it is about. Nor is it about rhetoric. To me it is about the fact that on national television elected leaders made jackasses of themselves in more ways than one. And that is unpardonable.

It could be about idli, sambar and chutney. It may be about the negotiations with IAEA. But when one observes oodles of taxpayer monies being wasted in just tokenism, there’s nothing more humiliating. Inflation is touching ~12%, industrial growth is all over the park, the central bank seems to be getting it all wrong in its fiscal policy and yet for two days the nation is compelled to be glued to a single channel watching with unabashed glee the way their elected leaders make a mockery of the system of Parliament. Not a single shred of discipline or deceny permeated the debate.

And we take pride in calling ourselves the largest democracy. Kakistocracy is what it resembles most today.

A look into FUEL

Rajesh has already posted about the FUEL Hindi review meet that is planned over the weekend. The Frequently Used Entries for Localization or FUEL has in some cases taken to be another attempt at creating a glossary of standardized terms. That isn’t all that is there to this project. It is an attempt towards ensuring consistency in the quality of localized content by taking help of a collaborative process.

What makes FUEL unique is that it is a set of steps any content generating organization or a team involved in creating localized content can undertake and adopt to ensure consistently highly quality. So, you will note that FUEL has:

  • a catchy name
  • a version control system allowing evolution of terms
  • a bug tracker / ticketing system
  • and a mailing list (eventually)

Underlying all of the above is the fact that it allows inclusiveness and participation. Collaborative innovation is an aspect which will have a good part in making FUEL successful.

Till now standardization efforts via glossaries have either been automated or, have been automated and undertaken via opaque processes and made available in an ‘over-the-wall’ development model. FUEL is aimed at ensuring that contributions can be pooled in from existing efforts while providing an in-public review process towards creating terms.

ps: FUEL needs a logo too :)

Translations, Accounts, GNOME and that thing about a mango …

Preliminary reading:

The comment here makes sense about having the coordinators get LDAP accounts. However,

  • Is this going to be documented some place ?
  • What happens with the teams having a listing ie. present in Mango ?
  • In the event that the coordinators of such teams do not have LDAP accounts and related criteria, will it be done on a retrospective effect ?
  • How do coordinators for new languages get LDAP account ?
  • Where is this being documented ?

And yes, this particular bug has not been resolved yet.
Someone should make time to sit down and fix this issue before it becomes a classic chicken-n-egg. The situation with GTP and Accounts has been existing for a while now (and I’ve been poking people over IM and IRC to take note of this). Perhaps this GUADEC the Board will take time to fix this. Else, coals in the stocking won’t be a distant dream ;)

ps: And while the Board is meeting, could someone also note that the Membership Committee folks haven’t yet got their accounts done ? Last I checked Bruno was the only one processing the RT.

Points jotted down at random

  • I am not going to GUADEC (Istanbul) this time. I figured sometime early this month that I won’t be able to take in the travel bits and really do justice towards being there. Perhaps next time …
  • Met Matthew Szulik at FUDCon Boston. Or, just outside where FUDCon was being held #305. Wow !
  • Mark Cox is an interesting person to chat with ;)
  • Met Max Spevack, Paul Frields (this time for real, the meeting at Westford office was a mirage :D), Tom Callaway, Karsten Wade and the wonderful person called Seth Vidal. Small note exchange with Max regarding activities planned. Met Greg downstairs at the Red Hat Cool Store. Managed to miss the meeting about Fedora – Community – APAC, but I am told that it was good and FUDCon may be at foss.in this year. [Note to myself – ask foss.in organizer’s about dates and provide information as early as possible]
  • Ensured that I get a photograph of Jack “I can be Jim Whitehurst today” Aboutboul ;)
  • Small chat with Harish about Fedora, JBoss and Community Development in APAC
  • Need to initiate discussion on fedora-india list about “what to do at FUDCon”
  • Sat through a masterfully led discussion (by Mo) on Spins. Learnt a lot about Spins and learnt most about how best to harness good grey cells when they cluster in a room.
  • Observed the testopia related discussion at FUDCon and for a particular reason (which would not be obvious to those who were not there the first time) it was deja vu. Felt good.
  • Made sure to be there at Jim’s talk at FUDCon. Interesting bunch of questions that he faced and in a somewhat loose way all were threaded into a more “what’s Red Hat planning to do now, where’s Fedora placed for you” meme. Karsten had fairly pointed questions around “what about the ISVs”
  • Watched first hand the sheer exuberance of the Spacewalk team and the smiles which accompanied every query related to RHN and Spacewalk. That logo is too cute for good. Mo ensured that the RHN team back at Pune have a few T-Shirts – and made doubly sure that I carried them back. Yay ! for her.
  • Drifted in and out of a few talks at the Summit. Interesting experience, unlike other ‘big ticket’ events one is used to.
  • Had a rushing-past-each-other-in-the-corridor meeting with Gayatri S from LinuxChix. Now, that was a surprise :)
  • Initial mail to GNOME Marketing India list about foss.in2008 plans in place. Next step to be an IRC meeting once bits and pieces begin to take shape. We need speakers and primarily we need someone to step up to the plate and volunteer to coordinate between mother_ship and foss.in presence.
  • In somewhat queer co-incidence, managed to miss meeting Sayamindu (who was at Cambridge while I was at Boston / Newton)
  • Hampton Inn & Suites at Westford suck big time. They have managed to charge my card over and above the billed amount for around 200 USD and it is taking them more than 15 days now to figure out the why-what-how-when_to_tell_card_company_to_reverse_charges bit. Sheesh.
  • On the LHR -> BOM leg of the flight, gentleman near me had 11 bottles (the small ones they hand out in British Airways) of red wine. Ahem !!
  • Finished reading Wikinomics, now to get hold of Patent Failure. Indiaplaza pretends they can deliver it in 16 days.
  • Ken Follet’s World Without End is turning out to be a not_so_fast page-turner compared to Pillars of the Earth. Ahh well !! guess that kind of novel happens once.
  • We (at Red Hat, Pune) are hiring Software Engineers again…
  • Debayan has been making progress on Indic OCR stuff