I was very happy to hear when Zend announced that they would join the Eclipse Foundation to facilitate the development of a core infrastructure for an open source PHP IDE. I have used Zend Studio to get around some of the limitations of my primary development environment Weaverslave. So I have high hopes for this open source effort. I just finished downloading and installing the preview though its too early to really comment on the experience.
I do not know a lot about the internal processes in the Eclipse Foundation. All I know is that the IDE is increasingly successful as a platform and companies frequently join and bringing in new features along the way. While the end result is open source code I am not sure about the actual development process and if that process also matches my idea of open source. Proposals are made public however which is reassuring.
One of my pet concerns with IDE's is to get good search and replace on par with Weaverslave. Therefore I took the time to look at the proposal. But while looking at the proposal and the related news group I became worried that the opening of the proposal was nothing but the attempt at giving people the image of an open process (where technical criteria are the deciding factor and not market control).
Of course people can do what they want in open source. However for something to earn the right call itself “open source” I expect an open development process that puts technical aspects above anything else. Of course I do count things like usability into the technical aspects here. Whenever I read the “clean IP” argument my alarm bells go off. Whenever I see company proposing to open source their own proprietary solutions in favor of an already established open source standard they go off as well.
Now in the case of this specific proposal there seems to be a open source project around. However Andi states that this is not a foundation they can build on: “The goal for such Eclipse.org projects it to provide the necessary infrastructure for others to build on top of. We believe that with our 6 years of experience with IDEs and PHP low-level development, we can deliver the best infrastructure. In additions, another goal for starting this project from scratch is to make sure that all contributions are contributed legally to the Eclipse Foundation.”
Of course Zend has a lot of experience due to the development of their own IDE. But the PHPEclipse project seems to be fairly successful as well. It could of course simply be the case that Zend aims to structure the code base differently in order to provide a better general purpose infrastructure. Regarding the “clean IP” argument I am aware that the reality is that open source needs to maybe even be more aware of the source of its code. PHPEclipse on sourceforge lists 30 developers that would have to agree to a license change for example. I do not know if there was any effort towards cooperation done here. I would be interested in hearing from some people within the PHPEclipse community! Looking around a bit it seems that at least some people in the community think that the projects will simply coexist peacefully side by side.
What irks me much more though is how they plan to provide the debugger protocol. The protocol will be based on Zend's currently closed source debugger protocol. According to the proposal and comments I received after inquiring on this, the protocol will be made “extensible”. Now I do not know if Zend never wrote down the specs for their protocol but oddly enough they only plan to release the specs “the minute the code will be open source.“ Why not release them now? This just gives me the bad taste that this is not about technical aspects but simply about ensuring a first-mover advantage and to prevent any technical discussion that might lead to requiring Zend to change their own implementation.
This is especially odd as there is already an open protocol called DBGp for script debuggers defined by Shane Caraveo (PHP Group member and developer at ActiveState) and Derick Rethans (PHP core developer as well as author of several extensions including the Xdebug debugger). This protocol has already been implemented for several languages and integrated into numerous IDE's. I would be surprised if Zend's IDE team would not be aware of DBGp. At the very least they should be aware of Xdebug as it is their main debugger competitor in the PHP space. I know that there was no effort at all to get in contact with Derick or Shane. Or is DBGp just so hopelessly inferior to the current Zend protocol that it is not worth talking with eachother?
The way they seem to be handling the debugger protocol makes me less optimistic about the real reasons why they are starting the main code base from scratch. I guess I am trying to solicit some feedback here from people that know the Eclipse proposal process better than I do and that may know a bit more about PHPEclipse. But I am also challenging Zend to improve the transparency here. Again you can do what you want with your source, but once you claim to do open source I expect that technical reasons always take the lead over other aspects.
At least Zend support claims not to know Xdebug.
Did you ever try Nusphere's PhpEd? I "discovered" this one for myself again and I really love it. Cuts the time in half, and that's even worth the arm and the leg they charge for it. ;-)
Sidenote: Your "login" (for the comments) redirects me to the homepage of your blog. Shouldn't it send me back to the article/blog entry I logged in from?
Personally i think Zend ist one of the worst things that ever happend to the Internet - Hey they brought us PHP, how could it get any worse?
If it were up to me i would remove PHP and everything associated with it from existence right now....
Best they keep their hands off of eclipse.
P.S: Not that you think i like PHPEclipse that much, its just the better of two evils.
"If it were up to me i would remove PHP and everything associated with it from existence right now...."
you sir, are a complete Moron.
Hmm, you said DBGp, actually, PhpEclipse uses DBG php debugger, written by this guy http://dd.cron.ru and it's open source. I think PhpEclipse developers selected this one over the others, just because it works and it does it very stable.
Coming from Java world it makes me wonder why implementing such a basic thing like debugging and caching is not implemented in the core php engine and it requires a couple of external solutions all incompatible between them. Other open source scripting languages (eg. ruby, python) seem to have no such problem. It looks to me that php development process it's not as open as it should be and companies like Zend dictate the development policy.
<< "If it were up to me i would remove PHP and everything associated with it from existence right now...."
you sir, are a complete Moron. >>
Well, I'm going to have to second that!
The Java Guy is absolutely right! I just recommend to EVERY PHP-"Developer" to take the time (about half a year) to get at least basic knowledge on what is going on in the Java Area. It will really enlighten your thinking about programming and "how things are done" and you will - that is something I can guarantee - have a better life as a developer.
Programming is not about a language, it is about abstract ideas and collecting knowledge - php is a place where is demonstrated every day, how senseless energy is spent on not centralizing these processes - everybody wants to make its own thing - basically too much "enterprise hype" going on in that scene - note - just hype, not really business.
There are x template engines, x^2 development frameworks and x^4 cms built with php - thousands and thousand of development hours spent reinventing the wheel over and over again, and mostly you see that the people behind these products start to begin learning on abstract concepts like mvc and others AFTER they have made all the painful experiences with "home programming". Look, you will find many prominent php projects, where even TODAY the developers are JUST BEGINNING to think about abstract programming methods, that are totally standard in other places.
Now this illness is just going on with the frameworks - everywhere there are popping up frameworks, most of them based on BAD COPIES of ideas people had in other places (e.g. rails). But the most advanced systems, ez and zend to name here, are so bloated and slow, they clearly proof that php is not a language for real object oriented programming needs. Look at ezpublish - the guys made it right, no question about that, it is a real good system, hey, they really got cool ideas - but they have BIG problems realizing their stuff with php. A php5 version they gave up completely, heading to php6, and the actual product has incompatibilies between minor php4 releases - and is still so extremely slow, that it brings you down to your knees...
well, I am not trying to persuade you, but I think the php community has to see the TRUTH - behind all that "enterprise" hype thingy there are many, many things going really bad. And top people, that ARE able to built neat compilers and HAVE knowledge on the most inner things to built such a thing like a platform independent language are not attracted by a company that wants them to "obey".
so, for my personal way, I keep all the old things I developed with php untouched until php6 - I still have some hope, that there will be some positive changes and I think php6 still COULD be a killer. But, behind the scenes, I take every second to dive into python, check ruby and, most important, go back to java, to be able to survive the next 10 years as a developer, because it is clear, that if php6 fails, the era of php is gone.
Sit down and compare and don´t fight a "holy war" for something, that costs YOUR life time.
This is NOT something I want to argue about, so please don´t spit on me with nasty words - this is just a warning from a higher point of view for all you php boyz out there - one day you will have a wife, maybe a child and some responsibility, until then you should have some real skills - and, most important, you will not want to spent all that time again and again doing things that already have been done. there are so many other real problems on this planet that needs to be solved and we need urgently every thinking head to help surviving the changes to come, we can not waste too much time.
...someone please gimme a babelfish to understand this mutter...