Got your attention? I figured so. Today's blog post title comes from the tag line of one of the coolest book shops I have ever been in: The Maple Street Book Shop. Today's blog post, however will be centered around project structure and more specifically the misinformation and misconceptions being spread rampant by the stupids. I can already see the people posting comments, "That was not a very professional post" or "I am insulted". OK, but to the first, Joomla! is an open source project ... not a corporation :) If you keep reading you will hopefully catch the drift. To the second, you have a guilty conscious perhaps? Reality is I am talking about the same thing the Maple Street Book Shop is talking about .... the seemingly communicable disease ... the stupids.
Firstly, lets clear up a very common misconception.
Is Joomla! a company?
Joomla! is not a company nor will it ever be. No one on the core team is paid for the work they put into the project. We are all volunteers. We do not get living allowances or salaries or anything like that. When we go to an event we are reimbursed for travel and accommodation expenses -- that is the extent of it. We may appear polished and well organized and all the things that some people do not associate with "just an open source project"; but I assure you that we are really just an open source project. We are a group of unpaid volunteers who share a good idea and work to make that idea a reality.
What is OSM all about?
Now, the next question will be, "But what about OpenSourceMatters, Inc (OSM)? Isn't that a company?" *sigh* Yes, OSM is a not for profit corporation which was incorporated in New York for the purpose of holding assets and supporting the Joomla! project.
Here is where there is a LOT of stupid going around that we need to fight. Joomla! is not a project that lives under the umbrella of OSM and its board of directors, we specifically set things up such that the Joomla! project is in charge of its destiny. According to the bylaws set in place for OSM, the Joomla! project (read: core team) have the singular authority to add and remove OSM board members, and the section of the bylaws that asserts this authority cannot be modified without approval of the Joomla! project.
OSM does not have members, not even the Joomla! Core Team, all it has is its board. The OSM board in the grand scheme of things should be viewed as a team within the overall project structure. Just as there is an events team and a marketing and media team that lives inside of the greater Foundation Working Group, OSM is merely a team that exists inside of the Foundation Working Group. The importance of this body starts and stops there. It is a tool of the project that is used to help facilitate the needs of the project, no more and no less.
Next is another important point. No copyright holders for the Joomla! code base have ever assigned copyright to OSM. For example, I own all of the copyright for the code I have written that exists in the Joomla! code base. Similarly, anyone else who has contributed code to the Joomla! code base retains ownership of their respective copyright to that code.
We set up the system in this way so that we could, in good conscience and of sound mind, let OSM go about its duties and exercise its powers knowing that it could not as an entity go rogue and do things against the wishes of the project.
I personally could not be more proud of the way things have been set up or of the people we have on the OSM board. They are a diverse bunch of good people and I consider them all great friends.
Then who is in charge?
I get this one a lot, and quite honestly it is not an easy question to answer. The reality is that no one is in charge but at the same time everyone is in charge. How is that for clear as mud?
The stewards of the project are known as the Joomla! Core Team, of which I am incredibly proud to be a member. We all have a demonstrated long term commitment to the project and believe in it wholeheartedly. We all have a say in how the project is run and for the most part we are a very "flat" organization. We do not have an awful lot of hierarchal structure -- thank god. Generally speaking the different individuals on the core team have different areas of expertise or different areas of interest. We endeavor to put people where they want to be and find ways to keep people interested and happy as best we can. A perfect example of this is Michelle transitioning from Documentation Working Group Coordinator to a team leadership position inside of the Foundation Working Group. If you need a more recent example I would point out that currently we are transitioning Rob from Quality & Testing Working Group Coordinator to the Development Working Group. He is also looking into other positions in the realm of advocacy.
Now that lets look at code and development specifically. Wilco is the Development Working Group Coordinator. He is in charge of managing the development process along with his "lieutenants" the Lead Developers. We currently have two Lead Developers: Johan and I. Architectural decisions for the code base are made by the lead developers, but the day to day development is done on the trust and honor system by the entire development working group who are mostly not on the core team. All of our developers have full commit access on the source tree and it is an absolute honor to work with each and every one of them on Joomla!
"Wait!" you might exclaim ... "What about the project lead?" Funny you should ask, I was just about to talk about that. The Joomla! project was founded with the same project leader that had existed for a while at Mambo before the split: Andrew Eddie. Up until Andrew stepped down from the core team, Joomla! had always had a single project manager and as you may guess it was a very taxing position to hold. Upon Andrew's departure we appointed three people to serve as project managers while we continued to restructure the project so that we could sustain the enormous growth. Those three were Johan, Shayne and David. In that last year immense progress was made on many fronts. We have made mistakes all along the way and we have also enjoyed great successes along the way. As of the most recent Core Team Summit the core team elected a new set of project managers ... not surprisingly to many, both Johan and Shayne were retained and I was also added to the distinguished list being that David stepped down from the team. Our position is not that of dictator or anything of that nature but it is really a facilitation position. We are here to help facilitate the project's progress and growth.
We don't hand down edicts about how documentation is written or how OSM is supposed to operate any more than we get to tell moderators how to moderate on the forums or any other aspect of the project. We may have suggestions from time to time on how to improve process ... we may offer a helping hand ... we may even help find willing people to work on a task that needs to be done, but generally speaking everyone on this team is quite capable and competent to do what needs to be done. Sometimes time is short, sometimes life happens, sometimes people even need a break from the project -- can you believe it? -- and when that happens the project managers are tasked with making sure that the project is affected as little as possible.
So why do you do all of this for free?
You know, I have asked myself that question a few times. What it comes down to I think is that I believe that Open Source Software, and more specifically Free Software, is as much a philosophy as it is a set of machine instructions to be interpreted. It represents the freedom for me to create and innovate at my own pace and it represents the freedom for everyone to use the free software I write. It is freedom in a very fundamental sense.
Quite often I hear people referring to Joomla! as a product. I have done it, but I have stopped because I think that a certain context is given to that word which does not fit Joomla! To most people, the term "product" infers an exchange of goods fit for the purposes of sale. This is, in my opinion, an incredibly wrong way of looking at free software, not because of its cost but because of its nature. This may well be a difficult thing for people to wrap their head around if they have only known proprietary software. Free software is built and distributed under the philosophy that the code is "locked open" so that everyone can share in its benefits equally. Of course some will have more knowledge than others and be able to make more of it than others, but the playing field is equal upon distribution. Everyone is afforded the same rights and opportunities. Free software is a "great equalizer" in that sense. There is no contractual agreement in the traditional sense of purchasing software, there is simply a license (in our case the GNU GPL) which allows you to use software as long as you give other people the same freedoms regarding the free software that you were given.
With the freedoms the GNU GPL License affords, there are also some responsibilities. We recently stated our intentions to ensure we're keeping our side of the bargain and being responsible free software patrons. So the next time you hear someone suggesting Joomla! is a product please do take the time to educate them (fight the stupids :) ).
So wait, are you some sort of communist ideologue?
I do enjoy a good vodka from time to time, does that count? ;)
In all seriousness this is ridiculous. I have written proprietary software, and will continue to write it when necessary. This is very similar to the absolutely STUPID and inane things that are said about people in the United States who believe the health care system should be socialized like nearly every other industrialized country on the planet. Does that mean everything should be socialized? No, of course not ... I am not certain I think human nature would allow for it, but that is for another discussion over some good vodka :)
I have said it before and I will say it again, I am not allergic to money ... though my bank account may lead you to believe otherwise ;) Just because I choose to write free software does not make me an ideologue, just because I happen to believe in the free software movement doesn't make me an ideologue either; it makes me happy with what I do which as I was always taught is something to strive for.
But what does it all mean?
For most of us Open Source and Free Software is a way of making a difference. It's an outlet for our creative talents to the benefit of many. For us it's a way for us to give a helping hand to everyone, including those less fortunate than ourselves it's not about money, it's about our contribution to the world. It may not be much, but it is all I have to give for the moment to make a difference. It is for everyone as a whole, not just a part.