Why I choose copyleft for my projects

Terry Hancock seemed to raise a few hackles when he presented case recently that "copyleft has no impact on project activity?!)". I'm not certain why, because it seemed he was just asking a question really (you'll note the question mark). In that piece he mentions the reasons developers choose a copyleft licence. As a -- somewhat small-time -- developer of free software this topic interests me. Terry made a few statements about why developers choose a copyleft licence as did Tony Mobily in his editorial for issue 20. So let me tell you why this developer chose (and continues to choose) a copyleft licence?

Why is a copyleft licence chosen?

Straight down to business then. This is a good question with a whole myriad of possible answers. Terry suggested:

"If you ask most developers, they’ll say they want a copyleft, because they want to avoid their work being co-opted or exploited (or even “hijacked”)."

While this was a reason, it's not the main reason I chose copyleft. It's not even something I directly considered when making my choice but it was a "bonus" side effect if you like. Terry went on to say:

"That implies an assumption that a copyleft license will encourage more people to feel more comfortable about contributing their work to the project."

This was definitely not a consideration when I chose a licence. I did not envisage anybody contributing patches or code because my projects are pretty small. Neither did I think of it as encouraging others to contribute. Honestly? I didn't care if they did or not. I was and am expecting to remain the sole developer on these projects. That's mostly because the nature of the projects does not demand a lot of developers. People have contributed patches and fixes though, so while this is another side-effect of my choice it was not a factor in making it. Terry's findings indicate that a significant majority of Sourceforge projects are single developer ones. So perhaps -- if they are like me -- the idea of people being able to contribute code was not foremost in the project administrators' minds?

A convenient truth?

Tony Mobily suggests it could be just a case of convenience:

"Paid or unpaid, company or private programmers, the question remains: why do they [write free software]? The answer, as amazing as it sounds, is “convenience”. It’s better, and more importantly cheaper, to develop free software."

Now we're getting closer. It was certainly a lot more cost effective for me to develop using free software tools and making the software available on Sourceforge cost me nothing but a bit of time. So convenience and cost did come into it. However cost did not play a part in why I chose to release my software with freedom built in and while hosting on Sourceforge means I have to use an OSI approved licence, that does not have to be a copyleft one. In fairness to Tony, he was talking about why people write free software and not why they specifically chose a particular type of licence but there is some correlation between the two.

Enough already - tell us why!

Okay cards on the table, this is why I chose a copyleft licence (specifically the GPL) for my projects.

  • Freedom 0: The freedom to run the program, for any purpose.
  • Freedom 1: The freedom to study how the program works, and adapt it to your needs
  • Freedom 2: The freedom to redistribute copies so you can help your neighbour.
  • Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.

Yes I know that freedom 3 is what Terry was talking about, but as I said it wasn't paramount for me. The four freedoms together and giving them to users of the software were paramount. I should acknowledge here that Terry did not say this was the sole or main reason copyleft was chosen. When I made my decision I particularly considered those who would deploy the software because that's the place in which I so often find myself. Both my projects are web-based so the web administrator is the target user. So I guess my decision was made on giving those four freedoms in largely that order of importance and to the web administrators.

  • Freedom 0 was a key factor in why I chose the GPL because I have encountered too many applications that told me I couldn't use their software how I wanted -- even though it perfectly fitted that particular need of mine. I wanted users of my software to be able to deploy it how, where and when they wanted.
  • Freedom 1 backed this up because it's what I like to do -- take something that works and make it work better in my situation.
  • Freedom 2 made my decision easier because it's what I consider to be human nature. When I find a good restaurant I tell people about it. When my meal tastes delicious I'll get my wife to try it - I share it (unless it's too tasty that is). When I find some useful software I want to share it.
  • Freedom 3: gave me an added bonus of "many eyes" and thus a confidence that errors and their fixes could be fed back into the main code.

So there you have it: this developer chose the GPL because of the freedom it gives those deploying the software. I don't claim mine are the only, best or most popular reasons but I am guessing that among single developer projects I am not alone in them.



Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved.