IzPack: Cross-Platform Installer Not Just For Java
InfoQ: What are the core features to look for in IzPack 4.0?
Julien Ponge: A list of common features is available from http://izpack.org/features/.
IzPack provides a wide range of panels that can constitute an installer (e.g, displaying a license agreement, creating desktop shortcuts, or gathering input data from the user such as port numbers, etc).
IzPack is cross-platform, but OS-specific customizations are possible. For instance you can have variations in the files to be installed depending on the operating that you are running on. More advanced OS integration includes interacting with the Windows registry and creating application shortcuts on Windows and X11 desktops. Finally, we also provide some scripts for wrapping an installer inside a Windows self-extracting executable, or a Mac OS X application bundle.
Version 4.0.0 is a natural maturation of the work.
InfoQ: Who should be using IzPack? What level of programming skills does someone need to work with it?
Julien: IzPack is useful whenever you need an installer for your applications that works identically across operating systems, be it for your company or your pet project. In terms of skills, you don't even need to know Java unless of course you plan to develop specific customizations. IzPack is accessible to people whose job is not primarily to develop Java code.
InfoQ: What projects are currently using IzPack?
Julien: IzPack is used by a wide range of companies and projects worldwide.
Among the famous examples we have JBoss: their installers are all based on IzPack. It is hard to know who exactly using IzPack, but I have managed to spot a few ones including: XWiki, Scala, Mule Enterprise, Jajuk and many others.
We are currently creating showcases to promote IzPack and help other projects. I have personally created an installer for Glassfish (Sun's JavaEE appserver) which is a project that I like very much. It can be obtained from http://izpack.org/showcase-glassfish-v2/ and it provides a more user-friendly installation experience to Glassfish, especially for developers (sysadmins will probably prefer to install it "by hand" on production servers anyway). An IzPack developer recently helped with another showcase for Groovy, so you should shortly hear about an IzPack-based installer for our friends of the Groovy community (we are neighbours as we are both hosted at Codehaus).
InfoQ: Do you plan to provide plug-in support for Eclipse, NetBeans, IntelliJ, etc?
Julien: That is clearly an area where we could improve, so yes, at some point we will look at this seriously.
InfoQ: Is there support for JavaFX Script applications?
Julien: No, but adding more general scripting support would be interesting. Leveraging the syntax of Groovy builders for creating user interfaces would probably be very nice.
InfoQ: Will IzPack remain open source? Is there a business model in the works?
Julien: Of course IzPack is and will always be open source under the Apache License version 2.0. My opinion is that as the project founder and leader, I do have an implicit contract with the community that helped me develop and grow the project, and that contract is simply the licensing choice that was made. Changing to a more restrictive license or a closing it would be a breach of trust between me and the community. We have seen some dramatic examples recently that I won't name... That is clearly something I will never do. We have seen some good examples of business success with an open source project released under a permissive license behind it: G2One, 37 Signals, SpringSource, XWiki, or even larger companies like Sun Microsystems that is releasing most of its software portfolio in the open source space.
InfoQ: Who do you consider to be IzPack's competition, who are you aiming to "beat"?
Julien: Our open source competition is rather low. We are directly competing with proprietary cross-platform deployment solutions, although most of them prefer to generate OS-specific artifacts (e.g., RPM, exe, DMG, ...) rather than a single installer that works seamlessly across platforms like we do. Being open source and having an open API, we also tend to be far easier to customize. We've received a lot of user stories that migrated from a proprietary solution to IzPack, mostly because it covered nearly the same functional needs and because it was easier to extend. There is of course the pricing factor: you don't have to pay us.
We are also "competing" to a lesser extent with native installer solutions. NSIS and InnoSetup are very good choices for Windows-only installers.
There exist complementary tools such as Launch4J and JSmooth that can facilitate the end user experiences while running an IzPack-based installer.
InfoQ: What's next for IzPack?
Julien: We have already planned some enhancements for version 4.1: reducing the installers footprint and supporting Pack200 compression. IzPack is a mature, community-driven project, so we will continue to include people's feedback.
InfoQ: Why should I/we choose to use IzPack?
Julien: Because it is mature, it has been used by large and small companies (including famous ones), it has an active community behind it, and it can be easily tailored to your needs. Oh I forgot: and it doesn't cost a thing :-)
I highly recommend IzPack for software installation if you need to support multiple operating systems, as supporting OS-specific solutions has traditionally been a very costly thing...
IzPack is a maturing solution for packaging, deploying and distributing applications. From desktop applications and standalone servers, even deploying to an application server is possible. Julien did make it clear that IzPack isn't just a solution for Java based applications, it can be used for non-Java based applications as well.
For more information try the following links:
Very good installer
Thanks Julien for all your great work.
That made me giggle
We have seen some dramatic examples recently that I won't name...
That made me giggle a bit, since it is so easy to defer what examples he is refering to... :)