Eclipse


I’ve been thinking more about the Eclipse Foundation over the past day.  As many have written, getting 33 projects, consisting of 24 million lines of code, to deliver one day is truly impressive.

What’s more impressive is the collaboration across 44 competitors and vendors with their own plans and agendas that was necessary to deliver against the release schedule.

By in large, Eclipse projects are shepherded by employees from one or more vendors whose business are tightly linked to the project.  Each of these vendors across different Eclipse projects have different business targets and customer demands they’re trying to address.  As a theoretical example, the Mylyn project, driven by Tasktop, may have been ready to launch on June 1st with key features that their customer base was looking for, while the PHP Development Tools project, driven by Zend, may have needed a few more days to pull in a whiz-bang feature.  And yet, both projects released on June 24th. (I picked the Mylyn and PHP Development Tools projects because they came to mind first.)

In the commercial software world, or when a single vendor is driving the release schedule of an open source project that they control, cross project release planning is easy, or, at the very least, easier.  Anyone working at a large software company, with different divisions on different schedules will tell you about the fun of lining up releases into a complete and integrated platform.

The Eclipse Foundation deserves the accolades it’s receiving for getting 44 vendors to march in lockstep. Eclipse remains one of the top three examples of meritocratic open source driven by an open community (Apache & Linux being the other two).

And to think, all this started as an IBM Canada project.  Happy early Canada Day (July 1st) ;-)!

Follow me on twitter at: SavioRodrigues

News out today that the Eclipse community has delivered Galileo, the 2009 Eclipse release train, made up of 24 million lines of code across 33 projects, with contributions from 380 committers and 44 companies participating.  As a product manager, I must say this is a pretty impressive accomplishment by the Eclipse Foundation and everyone involved with Eclipse. Well done!

The Galileo release offers new capabilities along these three themes:

1) Expanding adoption of Eclipse in the enterprise
2) Advancement of EclipseRT runtime technology
3) Innovation of Eclipse modeling technology

Details of each are provided below:

Expanding adoption of Eclipse in the enterprise
Adoption of Eclipse in the enterprise continues to grow.  New features in Galileo help expand the use of Eclipse by enterprise developers, including:

-    New support for Mac Cocoa 32 and 64 bit.
-    New Memory Analyzer tool to help analyze memory consumption of Java applications
-    PHP Development Tools (PDT) 2.1 is first PHP toolkit to support the new PHP 5.3 language release, including namespaces and closures.
-    New Mylyn WikiText support for editing and parsing wiki markup.
-    New XSL tooling for XSL editing and debugging.
-    Developer productivity improvements to Business Intelligence Reporting Tools (BIRT) report designer and performance.

Advancement of EclipseRT Runtime Technology
EclipseRT is the set of Eclipse technologies that provide OSGi-based frameworks and runtimes useful in building software systems. The Galileo release includes a dedicated category of EclipseRT components including elements from Equinox, RAP, RCP, Riena, BIRT, Swordfish, EclipseLink, ECF and EMF. Notable feature updates that advance the EclipseRT technology stack include:

-    Eclipse Equinox has been updated to support the draft OSGi Release 4, v 4.2 specification.
-    Target Platform provisioning support in the Plugin Development Environment (PDE) makes it easier to develop, test and deploy software to EclipseRT runtimes.
-    The Equinox p2 provisioning system has been updated to be faster, more robust and make provisioning OSGi bundles to embedded, desktop and server environments easy.

Innovation in Eclipse Modeling Technology

The Eclipse Modeling community continues to create new innovative technology for model-based development frameworks, tools and standards. Key new innovations in Galileo include:

-    Xtext, a new Eclipse project that allows for the creation of Domain Specific Languages (DSL). Xtext will create customized Eclipse editors for the DSL, making it easier for developers to focus on a smaller set of APIs and write less code.
-    Connected Data Objects (CDO) is a framework for distributed shared EMF models focused on scalability, transaction and persistence.  New enhancements in CDO include distributed transactions, pessimistic locking and save points, change subscription policies, an asynchronous query framework and security hooks in the repository.

What are you waiting for? Go download Eclipse Galileo!

Ian Skerrett just posted 6 Insights from the Eclipse Community Survey.  They’re all very interesting, but Insight #1 is really surprising.  Ian writes: “Insight #1 – Linux is doing really well at the expense of Windows.” Ian bases this on the following data:

It’s long been held that developers build applications on Windows regardless of which operating system the (server side) application will be deployed on.  This Eclipse data suggests a change might be underway.

Is anyone else surprised that nearly half (27 percent vs. 64 percent) as many Eclipse users build applications on Linux as they do on Windows?  Frankly, I’ve worked with more customers whose developers build applications on Mac OS X than on Linux; emphasis on the word “on” vs. “for”.  None the less, this data should definitely get some attention from folks over at Microsoft.

Yes, these results are based on Eclipse users and do not account for the Visual Studio developers who are 100% on Windows.  But let’s say Eclipse and Eclipse based tooling is used by (as little as?) one-third of all enterprise developers, it’s still a large enough audience that Microsoft needs to keep on Windows.  Maybe there is work that Microsoft could do to optimize Eclipse for Windows; much like Microsoft has done with PHP and Windows?

More worrisome (to Microsoft) is the fact that Linux has secured the #1 position for deployment operating systems amongst Eclipse users.  In related news, Sun Solaris/OpenSolaris fared no better, declining from 8% in 2007 to 5.2% in 2009.

My data analysis spidey senses are tingling.  I’d love to have more time with this data! But alas, life calls…

Follow me on twitter at: SavioRodrigues

Tasktop and Protecode are two interesting startups I ran into at EclipseCON 2008. They are very different businesses, aimed at very different audiences. However, both are made possible by Eclipse ecosystem….It would be very interesting to estimate the revenue opportunity that the Eclipse Foundation has opened up for vendors of all shapes and sizes.

Tasktop is based on Eclipse. The makers of Tasktop are many of the guys behind the Eclipse Mylyn OSS project. Mylyn is a task-focused UI for developers using Eclipse. Mik and team realized that the task-focused nature of Mylyn could be extended to support everyday use (outside of developers). Tasktop is able to group documents, emails and websites based on tasks you’re working on. So, for instance if I was working on a customer issue for work, researching for a blog post and writing a paper for school, I could switch between these three tasks and Tasktop would open/close the appropriate files, emails, webpages etc. based on the task I’m working on. Searching for files becomes simpler because they are associated with tasks. Also, Tasktop tracks how much time I’ve spent on a given task. I suspect there is a way to prevent Tasktop from tracking how long I spend reading FSJ and Dilbert ;-) It does a lot more, so watch this demo. While Mylyn is pure OSS, Tasktop is a commercial product for $60/year.

Protecode on the other hand has a really useful Eclipse plugin that tracks the pedigree of your code. It does so whether you import a file into Eclipse, or paste text from clipboard. The tool works unobtrusively while the developer is working away. As a result, the developer doesn’t have to remember the pedigree of a file or snippet of code 6 months later when the lawyer comes knockng. Companies can also set policies to restrict the code that can be brought into the project based on the license type (i.e. restrict GPL code usage). If you bring in code that doesn’t have a license attached to it, Protecode is able to check the code against its constantly updated collection of OSS software code. This occurs over a network connection. If there isn’t a network connection, the code is marked as “Unknown” and the developer, manager or lawyer can act on identifying the code when there is a network connection. As the use of OSS grows in the enterprise, so to does the worry of IP infringement. A tool like Protecode could become just what IT managers have been looking for. BTW, the guys at Protecode are in the midst of updating their website, so don’t let that get in the way of trying Protecode. The product is actually very cool and I can see it helping companies (and lawyers) get more comfortable with using OSS to develop their own products.

I’ll be posting interesting news from EclipseCON this week; as it happens and as I happen to hear it ;-)

The first piece of news that Ian Skerrett and Mike Milinkovich shared was the introduction of a new runtime initiative at the Eclipse Foundation. “A runtime project at Eclipse? I thought Eclipse was a home for tooling stuff.” That’s what I would have thought if I wasn’t previously aware of the Eclipse Rich Client Platform (RCP). RCP is the foundation for some IBM Lotus client-side products. Back in the day, folks at Eclipse realized that under the Eclipse tooling environment was a fairly robust client runtime environment. This client runtime had historically been used to run a tooling environment (i.e. a Tooling app). Supporting general purpose client-side applications was a natural next step.

The news today is a little different as it focuses on the server-side. The Eclipse Runtime project (Eclipse RT) is a new top-level project that will use the OSGi-based Eclipse Equinox runtime at the core of the top-level project. The Eclipse RT project will host several sub-projects that deliver runtime infrastructure based on Eclipse Equinox. The Project Management Committee (PMC) for Eclipse RT will be driven by Code 9, Innoopract, Sopera, Oracle and IBM.

OSGi is core to this announcement. OSGi is used to build several enterprise software products. I know that WebSphere Application Server v6.1 was built using OSGi, and I’ve read that BEA’s microkernel leverages OSGi. I know Oracle uses OSGi, but I can’t remember in what fashion. However, all of these uses of OSGi have been in the building of products, not the support of a new programming model. It will be interesting to see what traction OSGi gets as a programming model, and how Eclipse RT can help raise the profile of OSGi. If you’re using OSGi or interested in using OSGi, drop a comment with with you’re doing and how you think Eclipse RT can help. Better yet, get involved!

BTW, Eclipse Equinox is going up against Apache Felix, another OSGi-based runtime. I only mention it because Apache & Eclipse have been pretty complimentary (for the most part) in the past…but hey, competition is good for everyone. ;-)

Okay, I do not speak for IBM in any way (read full disclaimer here). But after reading the following from Matt Asay’s post today, I couldn’t resist.

“IBM uses Apache/BSD to burn boats…everyone else’s. :-) The company builds its software business on proprietary software and its services and hardware businesses on open source software (as well as its proprietary software.) This is classic Martin Fink-type thinking, i.e., open source your complements which also happen to be your competitors’ core competencies. The problem is, they’ll likely do the same. Or, more pertinently, an open source competitor will come along that doesn’t have the same need to keep sacred any proprietary software. How do you compete with someone that can drive all software value to $0.00?”

Let’s dig into Matt’s statement:

MA: “IBM uses Apache/BSD to burn boats…everyone else’s. :-)”
How many open source projects does IBM contribute developers, hardware and/or fund to? Let’s take the example of Apache HTTP Server. Long ago, (the royal) we decided that web serving was a commodity and it didn’t make sense to build our own web server to use inside of WebSphere Application Server. Fancy thing was that BEA and Oracle made the same decision. Does IBM get more than it gives to the Apache HTTP project? Yep, that’s what you’d expect from an open community project. But we have a team that is works on the Apache HTTP project day in and day out. What about Apache Geronimo? Yep, it’s the base for WAS Community Edition and yes we have a sizable number of IBMers who work on Geronimo as their day jobs. What about Linux (let’s throw in a GPL project), again, yes, IBMers work inside the Linux community as their day job. Eclipse, check. OSGi, check. OASIS, check. I could go on….

MA: “The company builds its software business on proprietary software and its services and hardware businesses on open source software (as well as its proprietary software.)”
Umm, so yes, IGS will work with OSS based on client needs. But heck, they’ll work with IBM products, Microsoft product, Oracle products or any software the client seeks. Next, does Linux help drive hardware sales? Sure, but remember we spend resources inside the Linux community, so we’re not taking without giving. While IBM may drive $1B (or whatever it was in 2006) from Linux-based software, hardware and services, it is a small portion of our total $90+ billion in revenue. I’d suggest you want to rephrase the statement to read “(as well as open source software)” in brackets.

MA: “Or, more pertinently, an open source competitor will come along that doesn’t have the same need to keep sacred any proprietary software. How do you compete with someone that can drive all software value to $0.00?”
Umm, we’re competing and winning quite well. Thanks for asking :-)

Anywho, aside from this paragraph on IBM that I take exception with, Matt’s post is well worth the read. He hits the nail on the head when he summarizes with:

“Net net: burning the boats is the right thing to do, but which boats to burn…?”

Indeed…Which boats, when and how does lighting the fire help customers? That customer angle is very important and likely the reason that we’ll see OSS and traditional software (happily) coexisting. (Much more on this in a later post)

I haven’t posted in a little while due to travel (who says offline RSS readers aren’t necessary) and my attention being elsewhere. But I’ve been catching up on some reading.

First I read this very interesting post from Shaun Connolly from JBoss in response to my questions about JBoss community.

Shaun says:

“Open source communities extend beyond those who interact directly on the open source projects, mailing lists and forums, and include the users, customers and partners in a wide variety of ways. In my opinion, there are neighborhoods within the larger community that have their own perspectives and ways of interacting with the larger community.”

I really like the neighborhood approach that Shaun suggests – I’ll need to think more about this one. I’m just not sure how or why third party users, customers and partners would be differently motivated than third parties who “interact directly on the open source projects”. Aren’t third party contributors users or partners, or don’t they sit inside of a customer shop?

The point that Shaun makes about how Red Hat serves expands and recognizes their community could very well have been written by IBM, Oracle, Microsoft or any other traditional software vendor. Not surprising considering how Red Hat tracks with traditional software vendors in many aspects of their business.

Then I read “My thoughts on communities backed by companies” from Jordi Mas, (linked via Matt’s Infoworld blog). Jordi poses a few questions to rate how community driven your development is (regardless of whether you’re open source or not, because, as Jordi points out, Microsoft and other traditional vendors also have strong user communities).

Jordi poses questions like

“Is the product roadmap publicly available?” or “Do developers from outside your company have privileges to make changes on the code base based on their knowledge? (Meritocracy) Or are they second class citizens?”.

I like the questions, but what’s missing (and likely always will be) is a way to assign an importance rating for each question. So, what if the product roadmap isn’t publicly available, but commit privileges are dolled out based on merit? Does that make the company in question less, the same, or more “community driven” than a company with a public roadmap that only gives commit access to employees?

But clearly there is a difference between a community found at Apache, Eclipse or PHP.net than other communities. It’s just not easy to define.  But, that doesn’t mean we shouldn’t try.

I purposely didn’t write about the Exadel partnership when it was announced as I wanted to get some more details on it. A week has passed and little has been written that furthers my understanding. And I must apologize for not emailing someone at JBoss to get some clarification (it’s been busy here). As such, I ask you to read the comments before finishing this post, in case one of my JBoss readers writes in to correct my take on the deal.

Here is the quote from the TSS discussion on this deal:

Sacha Labourey: “The Red Hat and Exadel partnership is twofold. First, Exadel will open source its commercial products — Exadel Studio Pro and RichFaces — at JBoss.org as Red Hat Studio Developer and JBoss RichFaces, respectively. Exadel is also moving its popular Ajax4jsf project, currently hosted on java.net, to JBoss.org, where it will become JBoss Ajax4jsf. Second, Red Hat and Exadel will continue developing the three projects going forward, including integration with existing JBoss platform technologies such as JBoss Seam. This ongoing development will be done under JBoss’s leadership.”

Then, JBoss/RH’s Gavin King comments:

“….. Seems like their (i.e. Exadel – added for clarity by Savio) business has actually worked out pretty damn well, given that we just paid them a whole bundle of money to get this deal done. ;-) This is not a typical case of a commercial vendor deciding to give away a product they couldn’t sell, in a last-ditch attempt to get users. Rather, this is an acquisition of successful technology, for money. It follows the model of JBoss Transactions, which was acquired from Arjuna, and JBoss ESB, which was acquired from Aviva. …..”

Am I off in left field when I think that this is little more than JBoss/RH acquiring technology from Exadel for a price? That the “….decided to open source the products at jboss.org” parts of the announcement are more about the cash that changed hands and less about validation of any community site? Reading Gavin’s comments leads me to think as much.

Don’t get me wrong, there is absolutely nothing wrong with that, acquisitions are a way of life in the software industry.

What doesn’t sit well with me is that the TSS Q&A with Sacha and the JBoss/RH Q&A about the deal don’t really clarify if:

  • (A) Exadel decided to open source their products and choose the JBoss/RH community because of its strategic fit with Exadel goals or for whatever reason that Exadel would feel that one ‘community’ is better than another ‘community’
  • (B) Exadel was paid to transfer their copyrights to JBoss/RH, and the open sourcing of Exadel products at JBoss/RH was part of the deal

I’m not the expert, but I don’t think that the Apache Software Foundation or Eclipse ever paid a 3rd party to decide to open source a product into the Apache or Eclipse community. When IBM acquired Gluecode, (which was building products on top of Apache Geronimo), we positioned the deal as what it was, an acquisition. Nice and clear.

Can anyone at JBoss/RH shed some light on who owns the copyrights to the code going forward? Because that should be a simple way of knowing if this was a 3rd party endorsing the JBoss/RH community or a 3rd party selling their IP to JBoss/RH.

Either way, it’s a business decision. But I don’t think it’s cool to paint an acquisition of technology as a partnership that endorses a community/external development site.

When this launches in June, Jazz.net is going to be quite cool!

Jazz is an open source project, kicked off by IBM, focused on providing tools that promote development for geographically distributed teams. (Remember, you have to wait until June to get your hands on it). IBM intends to open source a framework for geographically distributed team development, and 3rd parties will be able to provide extensions (like the Eclipse model). The software will work with Eclipse & Visual Studio. Here’s Danny Sabbah (IBM Rational GM) quoting a feature that sounds really cool and useful:

“or example, Jazz software will allow a programmer to send an instant message to a colleague with source code. Rather than see static text, the receiver could click to see where the code fits into the application, the original requirements and relevant tests.”

Not sure how they’re going to decide between features that sit in the open source product vs. those that are in the for-fee Rational product. Let’s hope that the Rational folks err on the side of including more value inside of the open source product. The strategy has been quite successful in growing the use of Eclipse, which in turn provides Rational (and other vendors) a larger customer base to sell higher-value offerings. Give more to get more.

Alex Fletcher posted about Eclipse needing to establish a better/standardized web delivery strategy for the vast number of Eclipse plugins and Eclipse technology.

His post made me think about the Geronimo Plugin Model. It does a lot of what Alex is looking for from Eclipse, except it’s for Geronimo ;-)

The Geronimo Plugin Model makes it really simple to get plugins (i.e. extensions, new features, samples, things that work with Geronimo, etc.). These plugins are easily installed, pulling down required dependencies and all without having to restart the server (in most cases – See here). You can also copy the plugins from your development server over to your production server(s) or any other server(s). Use the Geronimo console to get plugins, or download the plugin initially through Geronimoplugins.com and then use the console to install the plugin. There are a lot more Geronimo plugins than I’d last seen about 6 months ago. Keep ‘em coming!

[The pic is from Flickr user dAVIDb1]

Next Page »