The hard life of the Open Source Contributor

by Matt 23. January 2009 19:15

So who gets the best deal in the Open Source world?

As a consumer, I get free software. I can even get support (for a price). Good deal.

As a project leader, I’m the boss. Benevolent dictator. What’s not to like?

But what about the humble contributor?

I’ve dipped my toe into the open source waters a few times over the years, and it’s surprisingly hard to contribute. Now, I want to stress that this isn’t anything to do with the projects or the people involved – I’ve nothing but praise and admiration for all of them. Love you guys.

These are the problems that I see facing you:

1. Understanding the codebase. I downloaded the X Window System source once. And Firefox. Big mistake. Couldn’t understand a thing. There was just too much code. To set some kind of perspective, the current Chrome source requires 1.6 GB of hard drive space. The investment required to learn such a system well enough to fix a bug or implement a new feature is just huge.

Yeah, I know, I've picked the world’s largest OSS projects, but it should be recognised that there is a cost to not just learning the what and how of a codebase but also the why. It’s easier to change some change, it’s harder to change the right code.

2. Going dark. Jeff Atwood has already written about “going dark” – suddenly bounding up to an Open Source project with a massive code change that implements some huge feature or other. The trouble is, it’s very, very easy to go dark on an Open Source project.

I’ve done it. This blog has, for the last couple of years, run on a bit of software called Single User Blog. It was open source, I got a copy and used it to learn asp.net. And I made so many changes I ended up with a totally divergent codebase. Most of the changes I made didn’t get contributed back.

The trouble is, as a first time contributor, the desire is to contribute something worthwhile – which means a completed feature, not a string of small refactorings.

There’s an obvious solution here – communication. Talk to the project team, raise the issue, propose a solution, work on the implementation. Which leads us to…

3. It’s not your project. Perhaps the project team doesn’t want your feature or wants to implement it differently. You’re at the mercy of someone else.

I recently submitted a patch to Ayende’s AutoMockingContainer. It took over a month before it was applied (again, this is certainly not a comment against Ayende – the man’s a legend). It’s just not your project.

And this one is also a downside to using Open Source software in a commercial environment. At my last place of work, we implemented a WS-* based security architecture in Java. We wanted to use one of the various Open Source libraries out there, but none of them fitted our needs – they didn’t implement enough, and didn’t provide enough extensibility hooks.

We had to make significant changes.

And we had no guarantees that those changes would ever make it back into the project. That was quite a gamble – we had a highly customised version of an open source project. We could no longer take updates from their code, meaning we were now completely responsible for the entire codebase.

Options here are forking (and the cost of owning the new project), and, yes, communication.

(But communication can be too slow. In this instance, we didn’t have the time to develop a relationship, discuss a roadmap and submit anything other than an aforementioned code bomb. Is that a cop out?)

4. IP agreements. This is one I hadn’t thought of, but is, in hindsight, completely obvious and eminently sensible. How do I, as a project leader, know that the code submitted by Joe Random Programmer is theirs to contribute? That it wasn’t created on work time, with work resources? Or that it doesn’t contain some patented implementation? And once you do contribute, who owns the copyright to that code?

So, you have to sign some sort of agreement and return it to the project.

Sun requires it for OpenOffice:

Do I have to fill out a Sun Contributor Agreement?

Yes, if you intend to contribute source code or other materials which are intended to be compiled or otherwise integrated with the OpenOffice.org product, regardless of the size of the contribution (e.g., including contributions of 10 lines or less). However we encourage all contributors to the OpenOffice.org website domain, including the wiki, to fill out the SCA, as it streamlines the process for all.

“Including lines of 10 lines or less.” Phew.

Sun requires it, RedHat requires it, Mono requires it. Everyone should require it. Brad Wilson says of xUnit.net:

Yes, IP assignment agreements are strictly necessary. Any open source project without them is begging for future trouble.

All in, that’s quite a high barrier to entry (serendipitously, Jeff Atwood has just posted about OpenOffice’s high entrance fee).

If it’s so difficult then, should I contribute?

Of course.

You just have to be patient and communicate with the guys on the project.

Or start your own…

Tags:

Comments (32) -

Rosario Raker
Rosario Raker
2/11/2011 5:17:47 AM #

got here form ask ... great article and I definitely can agree. Not sure if you heard, the new apple ipad might be coming out shortly .. I am looking forward to it, pretty interesting news.

Reply

Rob Empson
Rob Empson
2/11/2011 5:43:36 PM #

With the whole thing which seems to be building inside this particular area, all your viewpoints tend to be quite stimulating. However, I appologize, but I can not give credence to your whole suggestion, all be it radical none the less. It seems to me that your remarks are actually not totally justified and in actuality you are generally yourself not even thoroughly certain of your point. In any event I did appreciate reading it.

Reply

medical microbiology mcq
medical microbiology mcq
3/5/2011 8:47:33 PM #

Just have to say your post is astonishing. The lucidity of your post is very impressive and I can take for granted you are an expert in this field. Well, with your permission allow me to grab your rss feed to keep up to date with aditional posts. Thank You and please keep up the fabulous work.

Reply

Medical Videos free
Medical Videos free
3/6/2011 1:34:58 AM #

Attractive section of content. I just stumbled upon your blog and in accession capital to assert that I get actually enjoyed account your blog posts. Any way I will be subscribing to your augment and even I achievement you access consistently quickly.

Reply

pacquiao vs mosley
pacquiao vs mosley
3/10/2011 5:20:20 PM #

Hi your blog is very nice and very useful., Can i write a post in your website thanks Smile


Reply

Jillian Michaels Diet Pills
Jillian Michaels Diet Pills
3/28/2011 4:16:16 PM #

This is very good information. Do you think you could message me? I have some more questions to ask you about your article.

Reply

Sara Carter
Sara Carter
4/15/2011 5:08:45 AM #

My girlfriend ordered the acai berry because we wanted to try the acai berry diet we keep seeing all over then news. Im definitely happy we did!

Reply

Jacqulyn Klinekole
Jacqulyn Klinekole
5/8/2011 5:04:29 PM #

Keep 'em coming... you all do such a nice job at such Concepts... can't tell you how abundant I, for one appreciate all you do!

Reply

What to Invest In
What to Invest In
7/3/2011 8:17:03 PM #

Yes, one problem is that it's not your project. And usually, to be able to do a good job, the employee needs to own the project. The sense of owning creates more efficient and effective workers.


Reply

casino en lign
casino en lign France
7/19/2011 10:33:40 AM #

Greetings! Very helpful advice on this article! It is the little changes that cope the biggest changes. Thanks a group in proceeds sharing!

Reply

suv comparison
suv comparison
7/20/2011 10:26:49 PM #

Hi, just required you to know I he added your website to my Google bookmarks due to your layout. But seriously, I consider your net web-site has 1 in the freshest theme I??ve came across. It extremely helps make studying your blogging site significantly easier.

Reply

ipad features
ipad features
7/24/2011 5:14:18 AM #

I've recently began a weblog, the data you provide on this site has helped me tremendously. Thanks for all your time & work.

Reply

direct consolidation loans
direct consolidation loans
8/2/2011 8:24:18 PM #

Is it ok if I quote your article in my monthly newsletter? I would think this article suits my topic perfectly. Well ya, thanks for posting this article.

Reply

DEBORA Laurence
DEBORA Laurence
8/9/2011 8:47:32 PM #

Recevoir la newsletter et les informations des partenaires de annuaires-gratuit.com

Reply

DEBORA Laurence
DEBORA Laurence
8/13/2011 10:31:32 AM #

Le système d'Enchère automatique sibeys.com, vendez aux enchères vos objets neuf.

Reply

Andrew Smith
Andrew Smith United States
9/4/2011 7:32:28 PM #

Exceedingly insightful bless you, I do think your trusty readers may very well want a lot more items similar to this maintain the good hard work.

Reply

Michael Anderson
Michael Anderson United States
9/11/2011 7:57:53 AM #

Surprisingly useful thank you, I presume your current audience may possibly want way more content of this nature carry on the excellent effort.

Reply

Johnny Jefferson
Johnny Jefferson United States
9/11/2011 8:36:19 AM #

Exceedingly challenging thank you, I presume your current audience might want a lot more content similar to this maintain the excellent content.

Reply

Michael
Michael United States
9/13/2011 6:19:32 PM #

Golf etiquette is an extremely important part of the game. The way golfers behave on the course is one of the things that
makes golf different from other sports. Etiquette has to do
with having good manners. It is through the courtesy we show to other people that we show our respect for them how important we
think they are.

Reply

Andrew Smith
Andrew Smith United States
9/14/2011 3:12:58 AM #

Incredibly educational appreciate it, I reckon your current visitors would likely want a whole lot more blog posts of this nature keep up the good hard work.

Reply

having study your write-up, I feel the details made are very powerful and interesting and have to concur inside the most component with your opinions. <a href=\"www.floridatoday.com/.../section\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\">melbourne cup live stream tips</a>

Reply

Philix
Philix United States
11/18/2015 7:51:14 PM #

Nice Site

Reply

Philix
Philix United States
11/27/2015 10:03:58 PM #

Great Site.

Reply

Darnell Drape
Darnell Drape United States
1/15/2016 4:53:14 AM #

Let me be the first to say: Congrats, Neil! I've been following this site from day one, and have loved every single day of awesomeness that it has delivered. You deserve all the success coming your way. Keep it up!AWESOME!

Reply

Georgeanna Carrigg
Georgeanna Carrigg United States
1/15/2016 5:45:57 AM #

AWESOME!Can't wait for that, will be something to want to accomplish day by day, to do something AWESOME!

Reply

Russell Schlappi
Russell Schlappi United States
1/15/2016 8:55:36 AM #

Congrats! This is such a great website, I know it will translate well into book form. Which is AWESOME!

Reply

Charity Niezgoda
Charity Niezgoda United States
3/16/2016 12:45:32 AM #

I was effectively pondering if by yourself at any time viewed as changing the style of your world wide web? Its perfectly penned

Reply

ciekawostki
ciekawostki United States
4/16/2016 11:36:11 AM #

Thanks for the tips about credit repair on this blog. The things i would tell people will be to give up a mentality that they'll buy now and shell out later. As a society many of us tend to do that for many factors. This includes getaways, furniture, and also items we want. However, you must separate the wants out of the needs. While you are working to improve your credit rating score you have to make some trade-offs. For example you are able to shop online to save money or you can turn to second hand outlets instead of high priced department stores pertaining to clothing.

Reply

Lynne Edelman
Lynne Edelman United States
7/11/2016 4:36:53 PM #

Outstanding written content & Nice a website.. Appreciate it for this fantastic write-up, I am contented I acquired this website on yahoo. An boost within just Unbelievable A increase in just.

Reply

Abe Keaty
Abe Keaty United States
7/17/2016 8:21:18 PM #

Nuestra empresa, con más de 24 anos de experiencia, respeta y sigue las normas de calidad establecidas por Saivod para las reparaciones de su Hornos Saivod, ya que creemos que es la mejor manera de satisfacer al cliente tanto técnica como económicamente, al tiempo que prolongamos la vida de la Hornos utilizando recambios originales Saivod. Deje de arriesgar su dinero y su aguante avisando a cualquier reparador de electrodomésticos y confíe en nuestros extraordinarios profesionales cercanos a su domicilio. Tecnirep Madrid, nuestro servicio técnico de lavadoras es sinónimo de seguridad y confianza. Reparamos directamente en su domicilio y nuestro trabajo está garantizado durante un periodo de tres meses posteriores a la reparación. No dude en ponerse en contacto con nuestro servicio técnico horno en Madrid para cualquiera que sea su avería en su horno.

Reply

Nestor Heitbrink
Nestor Heitbrink United States
7/19/2016 9:28:44 PM #

Hi, can I retain the services of your write-up on my weblog with a linkback?

Reply

Tennis2Table
Tennis2Table United States
7/24/2016 4:03:50 AM #

I have been surfing online more than 3 hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. Personally, if all website owners and bloggers made good content as you did, the net will be a lot more useful than ever before.

Reply

Add comment

biuquote
  • Comment
  • Preview
Loading

Rel=Me

Month List

RecentComments

Comment RSS