POCO Anniversary, Past and Future

These days in September 2004, five years ago, I started working on a set of C++ libraries that would reflect my idea of how to write proper C++ programs. What I wanted was a set of C++ libraries for the internet age. Easy to use and quick to learn for those already familiar with things like the Java Class Library or the .NET framework. And yet something that was true C++, combining the best of classic and modern C++. With source code that’s a joy, not a pain, to look at. After a few months of work (beside the consulting/contracting work I was doing at the time), the first public release of the C++ Portable Components, as it was called back then, was on February 21, 2005. Only a few months later, Alex joined the project as first contributor. Fast forward five years. POCO has become one of the more popular C++ class libraries. Lots of people have been building amazing applications with POCO. For a small sample, just look at the Wiki.

Now we would like to take POCO to the next level. As you probably have noticed, development work on new features has slowed down quite a bit in the recent months. While we have (had) a few people contributing significant amounts of work to the project, most of the work is still being done by Alex and myself. And this is where the main problem lies. While we both really enjoy working on POCO, we have to do other jobs as well — mostly because, for the most part, it’s these other jobs that pay our bills and nurture our families. In my case it’s work on consulting jobs, as well as my company’s commercial product offerings; in Alex’s case its his day job. This does not leave enough time to bring POCO to where we’d like it to be (more on that in an upcoming post). What the project would really need right now is the equivalent of one software developer working full time on POCO. Now, here in Europe, a full time software developer costs a minimum of around EUR 60.000 a year. That’s a lot of money. The original plan was to eventually make enough money from commercial support contracts to fund the ongoing development of POCO. That was a great plan, only it did not work out. Most people simply don’t need support (which, ironic as it may sound, is actually the goal of any good product) or, for various reasons, don’t want to pay for it. Now, my company does have valued customers paying a good amount of money for support and licenses. But this is almost all for my company’s commercial products, so development of these products is what the revenues are used for.

To make a long story short, what I want to introduce is a donation and sponsorship program for the POCO project. Similar to what other open source projects do, various sponsorship levels are planned. Sponsors will be acknowledged on the website, as well as in source code releases. The ultimate goal is to have a new organization — the POCO Foundation — oversee management of donations. Donations will, of course, be exclusively used for the ongoing development of POCO. The exact details of how all this will work haven’t been set in stone yet, so any input is welcome. Of course, anyone wanting to contribute significant amounts of work time instead of money is very welcome as well.