ramblings on PHP, SQL, the web, politics, ultimate frisbee and what else is on in my life
back

It's open source, stupid!

Well I fear it is not that simple. As avid readers of my blog may have noticed I have some beef with the Zend PHP IDE proposal that was recently accepted by the Eclipse Foundation. After studying the Eclipse Foundation governance rules, looking at the facts and talking to people from Zend, I am reminded once again that it is important that people realize that open source is not about licenses.

Of course the OSI might intentionally or unintentionally make you think that licenses is all that matters. I thought it was very telling that one of the comments in my "What open source is not" post noted that the OSI in fact makes it clear that the term "open source" is a marketing term. A way to supersede the "free software" term that is so closely associated with the political zealot Richard Stallman.

Now I do not consider myself a zealot when it comes to technology. That is not to say that I do not appreciate people like Richard Stallman that fight so vigorously for something they consider to be of benefit to the world at large. However I am mostly driven by the solving the needs of people around me. Well I admit most of the time I get paid to worry about these other people. The point is that I have seen that open source, free software or whatever you call it results in a very technology driven development process. That process results in superior solutions in terms of performance, flexibility and security. It might lack in certain other areas like packaging, but thats not a big issue for developers.

Note that in the following paragraphs I will be heavily quoting the Eclipse Development Process unless I specifically mention I am quoting someone else.

The Eclipse Foundation claims to promotes a "vendor-neutral, open development platform". Now in my admittedly naive thinking I thought this meant that new contributions need to be based on the best open technology. Either what is already out there, or what interested parties are willing to contribute. The reality is however that the Eclipse Foundation has a different strategy. The idea is to entice companies to contribute proprietary technology. In return these companies get a first mover advantage to marketing on their platform. Surfing the open source hype is one of the key reasons to the success of that platform.

The governance rules do mandate that people should be allowed to join a project and even question the validity of technical decisions which requires that sufficient information is provided:

  • All Project plans, technical documents and reports are publicly available
  • All Projects operate using open source rules of engagement: meritocracy, transparency, and open participation.

However it also wants to entice companies to allocate ressources: "Any Strategic Consumer with 8 or more developers working full-time on Eclipse Projects and not leading a PMC may designate one representative to the Architecture Council if none of its employees have been appointed to that council". Make a wild guess how many people Zend has allocated to their proposal.

Interestingly the governance rules require that the final open source solution should cover all important use cases:

  • Identify critical use cases [..]
  • Acquire the necessary rights to all required intellectual property

Now as I have mentioned before I think a debugger is a critical piece of any IDE and without the server component that Zend only plans to release as freeware I think they are in violation of the governane rules. But I am sure you could also interpret the above mentioned points differently.

However like I mentioned already, the Eclipse Foundation does state that people need to be able to join the project and have their voices be heard. There are several regulations (specifically 7.3, 8 and 10) that cover mediation of the upper level hierarchy if developers feel their technical concerns are not being properly addressed by a project.

I will probably try to follow through with these regulations as much as possible. However, the fact of the matter is that I am no Java developer. I must admit I am not even all that much interested in coding on an IDE. I also do not have much expertise in judging what debugger protocol is technically superior. I do care about getting a high performance, secure and flexible editor. So I am very interested in seeing the kind of open process I described above in as many projects as possible. Therefore I am concerned about the growing trend to pervert this process by people riding the open source hype but not applying its key principles.

I have been told to look at the glass being half full. I guess the way the Eclipse Foundation governance rules are laid out, someone who is a Java developer, that is interested in working on an IDE could indeed force the Eclipse PHP IDE project to choose a debugger protocol based on technical and not marketing reasons.

This all ties into a grander concerns other people have also noticed with the dual licensing schema employed by MySQL AB and JBoss. I can really recommend an article by Laos Moczar on this topic. He stresses the fact that in between all the marketing it is all about finding tools to solve "your needs". So I guess if you find a tool that does, from one of those marketing driving providers, the glass might even be more than half full. For example I have had little issues with MySQL, but that is because I knew about the limitations before I decided on using it for a project. So I guess it all matters little for people with a clue ..

Comments



Re: It's open source, stupid!

This was a very good article. I think most of this is related to the debugging protocol. It would seem to me that in an open IDE structure the debugging protocol of any such component that implements a full featured IDE should be pluggable. Meaning that if I wanted to add in a different debugger and hook it in I should be able to do so with little or no harm.

Different debuggers offer different features :)