For information on exhibition and sponsorship opportunities at the convention, contact Sharon Cordesse at firstname.lastname@example.org
Download the OSCON Sponsor/Exhibitor Prospectus
View a complete list of OSCON contacts
As any open source project that leverages the power of the CPAN or other dependency rich sources knows, streamlining installation for your users is critical. Many of our projects can requires 100+ dependencies from CPAN plus the C libraries that they depend on. Shipwright lets you pick specific versions of CPAN modules to include, avoiding interesting bugs that occur when new versions of a module remove or subtly break a feature you were relying on. You can ship relocatable binary distributions for particular platforms or ship a vessel that includes everything (including a known-good version of the perl interpreter) to be built by the end user on their particular platform of choice.
Shipwright vessels are tracked in a version control system such as subversion or git and allow you to record local tweaks to modules required to work around an upstream bug or a required local modification (such as a patch submitted upstream but not yet applied). You can import your local modules on top of their requirements from CPAN. If you need tweaks to configure or build lines in order to accommodate your local environment, you can easily add them to a per-dependency build script. Once you’re done building your vessel, you can ship it around as a distribution package or puppet it out to your servers.
When you’re ready to release your next version, take the existing source repository and begin importing updated versions of your modules and new dependencies. Test your app against new versions of libraries before adding them to your blessed vessel for deployment. When managing a farm of servers, be confident that every machine is using the same version of your application and its dependencies.
More than anything else, Shipwright allows modern perl applications to avoid the “installing half of CPAN” stigma that can frustrate and drive away users and make sysadmins pull our their hair debugging weird integration issues.
Kevin Falcone is a developer at Best Practical Solutions, LLC, producer of open source tools including RT: Request Tracker. At Best Practical, Kevin works on a number of projects including RT, Hiveminder, and the Jifty framework.