"Do we choose open-source because it is successful, or because we want it to be successful?"
It is successful. It is snowballing. Of all the proprietary technolgies I've worked with all have left a sour taste in my mouth compared to opensource technologies.
What happens when something goes wrong with the prop. tech.? You file an issue with support. You wait a number of days for a response. You usually spend a week or two answering super stupid questions, that the support person on the other side is copying and pasting from an internal support database. Then you might get passed onto an internal developer and get some help. If a fix to the code is required, wait to the next release, and at the same time write (or live with) a workaround to the problem.
When something goes wrong with an opensource tech.? Jump into the source code and make sure you're not making a false assumption about the API. If you spot a bug, fix it and submit it back to the community, and incorporate it into your own running system. If you need help goto the discussions/mailing lists and talk to others who are actually using the product themselves, not just sitting infront of internal support database, and probably can't program java to begin with. (If they could what are they doing in a support department?)
The opensource model simply works better. Satisfies the user better, and delivers a better technology. But it does not offer any guarantees and management can't point the finger at anyone else when something goes wrong.
But ofcourse we do want it to be successful. Morally it's right. Your have the right to share your work globally. It's honest.
This is where eclipse does not fit into the opensource model.
Eclipse is not honest. Let me quote from some other places:
Eclipse isn't also very good at sticking with standards, while NetBeans, being Sun driven, does an excellent job of re-using Java standards everywhere. This results in better java programmers. Eclipse on the other hand is a run-away camp, happy to do things their own way. This is not too beneficial to the end user.
Ontop of this, on a more moralistic front, I simply don't like IBM's blatant lies about Eclipse. Once NetBeans was up and running as a opensource java-built IDE, IBM announced Eclipse as "the original java built open source java IDE". It's not the first open source ava IDE, netbeans is. It's not a pure java built program, while netbeans is. That's two lies in one sentence! I thought one of the benefits of opensource communities was the trust and transparency of the project involved. Eclipse started off on the wrong foot altogether.
didn't IBM try to announce Eclipse as the first open source true Java IDE? NetBeans was open source a good year or two before Eclipse, and Eclipse isn't 100% java!! It is an interesting reflection between Sun and IBM, Sun focus' more on technical issues and IBM more on marketing.
My choice is clear cut. NetBeans was the first opensource IDE written in java, and this shows in its far greater functionality. Working with Eclipse is nice and flashy but you hit the wall quickly just not able to do everything. GUI Editor, Debugging features, Filesystem flexibility, JSP, MDR, XTest (regression testing), the list goes on.
And referencing the argument to Eclipse not being 100% Java:
It's not a true java IDE. The inclusion of SWT removes the '100% Java' notion of the IDE, it uses native code. Hence it runs and behaves differently on every platform. As windows is the predominant platform still IBM focus' that is works ok on windows, not linux.'
So it appears those poor programmers that are using Eclipse because they want to be part of the opensource world are infact just being used by IBM's clever marketing tactics.
Ok, so maybe you just don't care about the ethics involved, and you just want to use the better tool. Here are some reasons why NetBeans is the superior opensource tool out there:
When I use an opensource product I feel much more comfortable when it re-uses the standards. When I learn it I am gaining a skill that can be used in other products too! This is one of netbeans strongest points. And if your interested in using netbeans as a base for your java desktop application download the netbeans platform and start coding, the reuse of standards will save you time here too!
Sun makes an extended effort to reuse existing standards, we can see this again with it's new project system built ontop of ant. This produces better programmers, programmers that are familar with the popular standards. Unlike Eclipse users that get can sucked into the run-away standards like SWT.
The two biggest pros Eclipse had over NetBeans were performance and refactoring. NetBeans 3.5 runs lightning fast so this is no longer an issue.
And now with refactoring inbuilt to NetBeans, there is no longer any major technological advantage to using Eclipse.
Eclipse is also useless if you want to have your build management and execution management under Ant because Eclipse can only start !one! process for Ant. So, how can you start your business layer and presentation layer seperately with Ant? No chance. In NetBeans you can start as many Ant processes as you like.
This supports my general feeling about the differences between Eclipse and NetBeans whenever I hear the debate. The majority of those in the Eclipse kamp don't sound like they are really pushing the limits, pretty straight forward java programming with a nice helping hand from the IDE. I guess this is also why Eclipse wins people quickly during 'the demo'. But I have found time and time again (with not just Eclipse) that the other IDEs simply don't have the flexibility and power-user ability that NetBeans has. Anything and everything can be customised to suit the most unusual environments. This unfortunately leads to comments "NetBeans' options are too complicated, or cluttered". Well if your playing with lego I guess dad's toolshed doesn't look too user-friendly ;)
The above Ant usage is but one example, I like to run everything through ant tasks so server side scripts are easy to write, this then makes IDE usage quite simple for others, starting the webserver, deploying, running regression testing, etc, etc, simply by choosing an ant target, and often upto 3 at the same time.
The fact that Eclipse runs like crap on linux (let alone not being 100% java) also supports my belief that the growing Eclipse kamp is filled with M$ wanna-be-programmers ;)
Sorry, just couldn't help myself :)
You must PAY to be a member of Eclipse
Does this sound opensource to you?
Indeed, some Sun officials noted that although Sun has not officially joined the Eclipse Foundation, the company is participating in the Eclipse community, with a Glassfish plug-in and support for Matisse, a NetBeans technology, via a deal with Genuitec, an Eclipse member.
Some Sun officials maintain that in some other open-source communities the Sun "contributions" might be enough for the company to be considered a "member," but that Eclipse has a monetary requirement for membership.
I think this only empowers my point about Eclipse, albeit a good IDE, not being truly opensource.