I recently began updating the design and function of the Parnassus Book Service website, simplifying the look and updating the code to use HTML5 and CSS3 (which will improve its suitability for mobile devices). This has meant working through many, many individual web pages to remove the old table-based layout and replace it with block tags and classes.
The site was created about ten years ago using osCommerce, an open-source e-commerce package. At that time I downloaded the code and installed it. Then I spent about two weeks adapting it to the needs of a bookstore. As an open source project, the site has a sufficient supply of contributors offering advice, guidance and code for enhancing the package (though it pays to be careful which guidance you use). It was, as I recall, a tough week working on a laptop at a kitchen table. The chair had taken a stand against ergonomics, and my back continued to ache for about a year afterward, but I got it done and the site was up and running. It has continued in operation since then, with a variety of enhancements or fixes applied over time.
Because the package was open source, I was able to open the pages, see how they worked, and adapt them to suit the Parnassus Book Service requirements. I have always advocated open source for exactly this reason. If the base package is reasonably well built and supported, the individual company can adapt and customize as necessary. Open source web packages are normally written in PHP, which is a commonly known language, so it’s not difficult to find programmers with whom to work.
Now, in the Summer of 2012, I returned to do some major tweaking. My nephew, an excellent programmer (far more software literate than I) who is starting his own software company, had suggested that the site was nearing the end of its life (the base osCommerce package has not been updated in 10 years) and recommended that we find a more current and sophisticated system. I’d agreed without much reflection (seemed obviously to make sense and I value his opinion); however, I’d not had an opportunity to review the alternative packages and the site needed a face-lift now. So I started cleaning it up as a short-term fix.
I downloaded an HTML5 template and installed the osCommerce STS Template contribution. It took me several days (same kitchen table, different chair), but we now have a site that will work on mobile devices or desktop computers. It looks pretty good and has all the functionality we currently need. I also know the package well enough to add more functionality (social networking is coming and perhaps, ebooks).
Having done this, I don’t necessarily see the benefits of changing e-commerce packages. I expect there are many extra features we could be taking advantage of in the newer packages, and a variety of new ways of displaying our books on the site. But the current open source solution has already allowed us to create a hybrid of bespoke and off-the-shelf solution that meets our admin and customer needs. I’ll be adding better search functionality (filters and so on) and integrating more with social media, but the open source platform already provides a solid structure for doing just that. It meets our needs and is suited to our way of working. I believe that may actually make it the ideal solution.
This is the value of open source. Beyond the grand ideas of free speech and the self-interest of free beer, open source provides a practical solution for a business and allows new ideas and new technologies to enter the public domain. Patents are meant to provide similar service, but are increasingly used to stop new ideas and new technologies from entering the public domain; the recent Samsung/Apple case highlights just how this works these days (see Marc Chacksfield’s article describing Google’s current stance). While patents are legal documents describing how a system works (making them in a sense open source documents), they do not allow others to experiment and evolve those ideas. They effectively create idea silos or worse, when in the hands of patent-trolls, idea lock-boxes. Open source encourages collaborative experimentation.