Rashmi Sinha has a nice entry about Joel’s new CoPilot product. She points out that building a UI with excellent usability on top of an open-source core that already exists is at the heart of the project’s strategy.
This is a model that other small ISV’s should explore. The world is full of powerful open source software that is simply too hard to use to be a viable product. Layering a UI on top of that and offering it as a service over the web provides a short path from idea to execution, something that literally can be done in a summer by four interns!
The legal stuff that comes up in this model is kind of interesting. You have to contribute any modifications to the code you build on top of, but NOT any wrappers you build around the code. So apple can modify BSD and release it as darwin while still keeping the UI code of OSX proprietary. Similarly, Joel will release his modifications to tightVNC, but will presumably keep the code that uses that code (the web service, UI components, installers, etc) proprietary.
There’s also an interesting legal wrinkle here that is specific to software as a service businesss models. GPL
requires that you contribute back to the community any works that you “distribute or publish”. This was in the day when the software business was exclusively about selling software licences, a model that is rapidly losing ground to renting software that runs on the vendors server (or “software as a service”).
It is unclear to this layman whether running a service on your own webserver constitutes distributing / publishing. If it doesn’t, you could easily modify existing GPL’d code and use it as your service offering without ever contributing the modifications back to the community.
Joel is not playing this game, and is contributing back his modifications. But it’s not clear if he would be legally compelled to in this particular situation. Any open source licence geeks who can weigh in on this question?