If you’re not part of the Joomla community – I’m not – you might have missed something significant that happened this morning (This morning being 12 midnight on 02 July 2009):
While this doesn’t seem like a big deal to many, the change is interesting.
Previous to this, as long as a given extension’s license was Open Source Compliant (MIT, BSD, GPL, MPL, etc, etc), it could be included in the JED. It provided a one-stop shop for extensions and was the single place where nearly every extension resided. It’s powerful and helpful for a community to have a single place where everyone can go for information.
But now that’s changed…
A few years ago, the Joomla community split and argued and fought over licenses, intellectual property, and extensions when questions started to be asked about the GPL. Things like “can you have proprietary extensions to a GPL’d work?” and “can proprietary things interact with GPL’d work?” and even “can an extension to a GPL’d product have a different license?”
Honestly, I don’t care for the GPL…
Version 2 of the license is problematic for a variety of reasons. People constantly have to figure out if they’re following the terms of the license in terms of interfaces, extensions,and packaging. It’s a painf if you’re an Open Source developer (aka not a lawyer) trying to figure out the rules on distributing a package using a variety of licensese…. yuck. It’s even worse if there’s a company behind whatever package is getting released. Even it’s not proprietary, they have to spend time (aka money) figuring out if they’re following all the rules and possible even prove it.
And Version 3 doesn’t make it any easier. In many ways, it’s no longer just a license but a moral code effectively forced on anyone further down the line. After the battles over what constitutes “distribution” and the Tvioization concerns and a mess of other things. It’s very similar and named similarly but might be different… wha?
Personally, if I was the FSF, I’d sue myself for introducing a “likelihood of confusion”, but I digress…
So what does this do for a community?
I’ve said a lot about community in this space in terms of defining the “acceptable behavior” on mailing lists, setting coding standards or API structures in code, or even ways to learn about and help build a community… so I’m torn:
Forcing everything to be GPL and kicking out everyone/everything else isn’t inclusive.
Setting and enforcing community standards is a good thing.
So where do we go on this one?
What does a community do to both protect itself and its standards (behavior, code, priorities) while at the same time grow into something vibrant and useful? Considering there are literally hundreds of companies that donate tens of thousands of hours of time to projects, how do we protect their needs and include them without stepping on the community?