Announcing Box UK Open Source Software Libraries

Overview
We are pleased to announce the release of two code libraries we have developed at Box UK under a permissive open source license.
Date
01 December 2010

Contributing to open source community

At Box UK we value open source software very highly. Examples of its use can be found right through the company: we deploy cutting edge websites on various flavours of Linux; many of our developers use Ubuntu as their primary operating system; we utilise open source products such as SqlYog, an excellent MySQL management tool, and Netbeans, a flexible, powerful Integrated Development Environment; and, crucially, we build upon open source libraries such as jQuery and Zend Framework to deliver progressive products, saving thousands of man-hours in the process.

This scenario is mirrored in development houses all over the world. Given then that the open source movement is so important to the future prosperity of software vendors, it is critical that those in a position to do so, contribute code back to the community so the effort can continue to thrive. With this in mind we have resolved to experiment with releasing some of the libraries we have developed at Box UK, permissively dual licensed under both the GPL and MIT licenses, in the hope that they will be of use to the development community.

First release: Dependency Injection

The first library to be released is a Dependency Injection solution called boxuk-di, written in the PHP programming language, that we developed to reduce complexity in an MVC framework, particularly where unit testing was involved. While a number of DI solutions have already been released under open source licenses we felt ours fresh and novel enough to appeal to developers looking for a smart, elegant solution. More details can be found at our blog post on the DI library.

Obscura: image thumbnailing library

The second library we are making available is an image thumbnailing library we have titled Obscura, which is also written in PHP. This project was initiated when we failed to find a solution that offered the functionality we required under a substantially permissive license. The library is still under development and we intend to add further features under the same license in the coming months, but already it enables developers to quickly create thumbnails for the common image types through an intuitive, simple interface. More details are available at our blog post on Obscura.

Both projects have been designed and written to take full advantage of the latest version of PHP, the 5.3 branch, including namespacing to encourage and facilitate their use in other projects. As with all software developed at Box UK, the libraries announced today are subject to our strict coding standards. They are covered by unit tests to an extremely high percentage, they are well documented both through code comments and user documentation (with more to come) and they have been through several sessions of peer review.

Feedback from the community

Of course, this wouldn’t be an open source effort if the community didn’t spot a bug or two or have a few suggestions for improvement, so we kindly ask that any developers wishing to contribute do so through our company Github repositories. We’d also love to know if anyone has found the projects useful, as it will encourage us to perhaps release more code in future. We’ve thoroughly enjoyed the process involved with bringing these libraries to the public, and trust that they will be found to be beneficial by our fellow developers.

Further reading

Box UK's Github repository
Our blog post on the dependency injection library
Dependency Injection & Reflection Library on Github
Our blog post on the Obscura library
Obscura, the PHP Image / Thumbnail Library on Github

Banner image courtesy of Mikko Luntiala (Flickr)

Where next?