Sections: [debian] [debian-backports] [debian-live] [debian-unofficial] [hardware] [software] [other]

Wed, 05 Apr 2006

EiffelStudio is Free Software

Eiffel Software has finally relicensed EiffelStudio. The binary-only pain is over.

Some weeks ago, roumors had it that Eiffel Software will only release the sources under a non-free license (non-commercial use only). The ceremony, where Bertrand Meyer pushed the magical red button to import the sources into the repository was held today. Unfortunately, I was not informed about the particular date and time, so I did not have a chance to attend it... too bad.

However, EiffelStudio is now dual-licensed, under their previous non-free EULA and under the GNU General Public License. It have the impression that Eiffel Software does not understand the GPL, they are claiming that one is not allowed to create commercial applications with the GPL version of Eiffel Studio:

"Users who write commercial proprietary software must purchase the corresponding licenses and may freely choose how to distribute their software. Users who donate their source code to the Open Source community can use the Open Source version and must distribute their software under the same license."

Remember: The GPL does not restrict the act of running a program at all and the Eiffel standard library is licensed under the DFSG-compliant Eiffel Forum License (a BSD License derivative). There is no possiblity to enforce such a non-commercial use only of EiffelStudio with these two very licenses.

Thanks Eiffel Software and Bertrand Meyer for finally doing the right thing, and to Eiffel Team at the ETH Zurich for constantly bitching them about the issue while the last years. Of course, I will prepare packages for Debian based on my non-free unofficial packages.

Update: Every binary which is build with EiffelStudio is linked against the EiffelStudio run-time. This run-time is licensed under the GPL, so every derivated work (and that is what every binary is then) must be licensed under the GPL too. Actually, my point is that the GPL does not exclude commercial use. Due to bad wording, people did misinterpret it as 'you can distribute proprietary, commercial programs' instead of 'you can distribute and sell free (as in GPL) programs'.

/planet-debian-aggregator/debian-unofficial permanent link

Sat, 11 Feb 2006

Eiffel packaging considered painful

Our Chair of Software Engineering at the ETH Zurich is addicted to the Eiffel programming language. Thus, a PhD student is working on an Eiffel Multimedia Framework, named EiffelMedia, and I am doing the Debian packaging.

After working the second year with Eiffel stuff now, I can say that packaging Eiffel programs (not the language itself) is a major PITA, with respect to the following two aspects:

Eiffel is different

  • Build tool is an Ant clone written in Eiffel, called geant (part of Gobo Eiffel).

  • Paths are not hardcoded into the binaries, they are set by environment variables. You guessed it right - it is not a bug, it is a feature.

  • There is no Eiffel compiler, just Eiffel-to-C wrappers which then issue the compilation to objectcode by a C compiler. Generating executables from Eiffel sources takes longer than from any other language.

Eiffel is non-free

There are not one... not two... but three incompatible Eiffel compilers arround. Oh yeah...

  • EiffelStudio, developed by Betrand Meyers company Eiffel Software (formerly known as Interactive Software Engineering) reflects the reference implementation of the Eiffel language. Last summer, Eiffel was accepted as ECMA standard 367. Version 5.6 of EiffelStudio released back in fall 2005 does implement this standard.

    EiffelStudio is proprietary software (speaking of EiffelStudio means actually EiffelStudio Free Edition). Last year, I bitched Eiffel Softwares employees for about 3 month continuously to change the EULA for allowing non-modified redistribution. Thanks to be not ignored by Larry Miller from Eiffel Software, in the beginning of 2005 the EULA was changed and I could provide packages publicly. Theoretically, I could have moved them over to Debian non-free, but it is quite a large piece of software (190MB, source and binary packages) and the important parts (compiler and IDE) are still provided binary-only (so the archive would have to carry three arch specific version, makes 570MB in total per revision), thus no upload was considered. Additionally, EiffelStudio is available on Linux only for the i386, powerpc and amd64 architectures. All other platforms where Linux runs on are not supported.

    Another annoying problem with EiffelStudio is its nasty disclaimer flooding allover the buildlogs. It is built into every binary and displayed as the first 19 lines of every output of those:
    This program has been produced with a demo or non-commercial version
    of ISE EiffelStudio, the full lifecycle object-oriented development
    environment from Eiffel Software.
    This version is reserved for non-production use of Eiffel. Any other
    use requires purchase of a license.
    
    Eiffel Software offers commercial and academic licenses and
    support/maintenance contracts covering diverse needs.
    
    For more information please contact
    Eiffel Software at the address below or consult the Eiffel products page
    at http://www.eiffel.com/products/.
    
            Eiffel Software
            356 Storke Road
            Goleta CA 93117 USA 
            Telephone 805-685-1006, Fax 805-685-6869
            E-mail sales@eiffel.com
            http://www.eiffel.com
    
    This could have been "designed" a bit more discreet. However, as I do have to use wrapper scripts anyways for all binaries in the packages of any Eiffel program, I stripped that out by the occasion.

  • Visual Eiffel developed by Object Tools was a proprietary Eiffel IDE and compiler suite. In November 2004, the compiler and the standard library were made free and are licensed under GPL.

    Unfortunately it was never fully compatible to EiffelStudio, actually years behind. It is not suprising that the project seemed never to be alive. Because it is still stuck with an old Eiffel language specification, it is even less useful today than it ever was.

  • SmartEiffel (formerly know as SmallEiffel), developed by the LORIA Laboratory is a GPL licensed Eiffel compiler.

    But SmartEiffel does not and will not implement the recently published Eiffel ECMA standardization (roumors has it that they fork the Eiffel language in some essential parts caused by some technical and/or personal missunderstandings between Bertrand Meyer and the leader of the development team of SmartEiffel, they know each other from earlier).

Except from some fundamental programs like Gobo Eiffel or the Eiffel Wrapper Generator (they support both all three compilers), nearly all programs are written according to the current Eiffel specifcation. So there is no real alternative to the proprietary EiffelStudio. Beeing binary-only is a major drawback too: EiffelStudio on Linux/powerpc is dynamically compiled against glibc-2.3.5, but Sarge has glibc-2.3.4. So one needs a backport of glibc, which taints the system in an unneccessary and stupid way.

Please: Eiffel Software, if you are reading this, open the sources of EiffelStudio now and turn it into free software, for the greater good of us all. Make additional ports to other architectures possible and allow us, the packagers and upstreams of Eiffel programs, to drop the cumbersome support for other ancient Eiffel compilers. Let's focus us to one, single implementation and improve it.

/planet-debian-aggregator/debian-unofficial permanent link