Open EiffelStudio

April/May 2006

On April 5 the "Big Red Button" was pushed, instantly releasing the entire source code of EiffelStudio: 4200 classes and a million lines of code (out of which 1100 classes and 300000 lines for libraries). For detailed figures see http://tinyurl.com/qfnwz; there's even the movie version at http://tinyurl.com/mkwfp (specifically, the last few minutes). You can see all the code, and compile it; you'll find all that's needed, including the configuration management repository, discussion groups, lists of exciting projects, wikis etc. at http://eiffelsoftware.origo.ethz.ch/. The source code itself is the result of about 20 years of work devoted to building a great object-oriented software development environment.

There are now two licenses, at the user's choice: GPL if you are happy for your own software to run under the GPL, and otherwise a commercial license which enables you to protect the code you develop.

This is of course a great event in the history of Eiffel; the time was ripe for the release of an advanced and complete Eiffel environment, including compiler, libraries, IDE, browser, debugger, profiler, reverse-engineer between diagrams and code, metrics etc.

Open source choices have too often been made on political, sometimes almost religious arguments. It's not a religious matter but a very practical one: how best to ensure the growth of a technology. On today's IT scene, the ability to provide Eiffel users with a fully open-source avenue is an advantage on many counts: ensuring the continued improvement of the technology and the growth of the market for decades to come; protecting customers' investment -- forever; facilitating the use of Eiffel by universities, research labs, government organizations, individuals, and anyone whose own software can be open-source; enabling a faster release cycle; and tapping into the formidable energy of Eiffel enthusiasts worldwide, whose talent and enthusiasm can now be directly applied to enhancing their favorite product. (If you fit the preceding description, make sure to visit "How To Contribute?" and "Projects and project suggestions" at the last URL given.) The move will also provide many new business opportunities.

The project is hosted by Origo, an open-source distributed and cooperative development platform under construction at ETH. The basic mechanisms are in place -- it was of course critical that from day one people from all over the world should be able to download and compile the project -- and they proved resilient even with the heavy load generated by prime time on Slashdot.

This all comes at a particularly exciting time for Eiffel. The next version of EiffelStudio will include many new facilities (which you can preview by looking at the repository); most importantly, the "fast track" ISO process for the ECMA Eiffel standard led to a positive ballot of ISO member societies and to a positive "resolution meeting" in Geneva on April 11. So yes, Eiffel will now be an ISO standard; give it a couple of months for the paperwork, but the decision is in. It's the result of four years of strenuous work by the ECMA TG4 committee, and another great piece of news for the Eiffel community.

Of course there's still much to do. The ECMA-ISO language extensions have not all been implemented yet, although each new release brings the compiler closer to that goal; you can see on the project site the list of remaining tasks for ISO implementation. The ISO language is really where everyone wants Eiffel to be, so implementing it fully is the number 1 goal on the agenda; there's a clear commitment to get there as quickly as possible, and in an incremental way, adding mechanisms as soon as they become available -- while being of course extremely attentive to compatibility issues for existing code, as users with a strong investment in Eiffel are entitled to expect.

We hope that you will feel as thrilled as the developers of the technology, so thrilled in fact that you'll join them in contributing to Eiffel tools and libraries. But if not -- if you're just an Eiffel user, and just want to benefit from these tools and libraries for your own purposes -- you will benefit too and, I think, pretty visibly and pretty soon. Welcome to the new world of Eiffel development.

-- Bertrand Meyer