Overview
Features
Download
Documentation
Community
Add-Ons & Services
The POCO C++ Libraries Blog

POCO RFC

Filed under: Uncategorized by alex at 22:08

This is a request for comment about the future of POCO project*.

The POCO project team is soliciting feedback on the project itself, the development model, maintenance, releases and any other topic regarding the POCO project state of the affairs.

The current state of the project has some troubling aspects associated with it that we would like to rectify as soon as possible. In order to do that, we need your help. The development of POCO, as it currently stands, mostly depends on voluntary contributions. An obvious consequence is that we are not able to realize the plans as we would like to. While we are definitely grateful for any contribution, we feel that a project like POCO deserves better than that. Also, contributing a chunk of code is not the end of a contribution process. As written in a recent blog post, there’s much more to it and someone has to take further steps in order for the contribution to find it’s way into a release.

Given that the project already has a significant number of commercial users, we would especially like to encourage response from those entities in order to learn whether there is any interest in setting up an entity or a relationship overseeing the development of POCO. An example of “entity” would be a non-profit organization (e.g. Mozilla Foundation). An example of a relationship would be a sponsorship of POCO project or commercial support contract set up in a way similar to that of SQLite or a membership association similar to the SQLite Consortium. Additionally, we also encourage individuals, hobbyists and open source projects developers to respond with ideas and suggestions regarding this issue. Last but not least, the POCO Project page has a PayPal donate link, so please consider donating to the project as well.

The bottom line (and the reason for this request for comments) is, we would like to be able to have someone officially and professionally responsible for POCO project dedicating it certain amount of time every business day. This would initially likely be one person on a part-time basis, but depending on the interest, responses and establishment of said entities/relationships, it would eventually grow to full-time and more people. Needless to say, this would significantly improve the quality of the framework, the speed at which bugs are being fixed and releases published.

Here are few questions:

* Would you be willing to support POCO financially?
* Would you be willing to contribute the time of your employees?
* Are you in favor of non-profit entity and under what conditions would you join?
* Would you be willing to buy commercial support?
* Do you have any suggestions about the future of POCO project?

We feel that this is crucial for the future of POCO. If you like what we do and benefit from it, please consider responding. POCO is and shall remain free as both speech and beer. Regardless of the responses, the current project team shall continue doing its best to keep the project alive and healthy.

Thank you for your time.

POCO Project Team

* Anyone interested in any way, shape or form is encouraged to respond, publicly or privately. Should you require confidentiality, it will be fully guaranteed. In the latter case, send your comments to poco at appinf.com.

5 Comments »
  1. You could start by using google ads on the public documentation pages as revenue to help finance the project. If it was explained that the revenue was used solely to finance the open source part of the project I don’t see that anybody would complain.

    However I’m not sure how people would feel about contributing staff to the project or donating directly unless it is for specific features they need. The problem is also one of perception. Although Poco is very good it appears to be only a small “free” part of what is really a commercial library. This view is reinforced because the name “Poco” is associated with the open source library as well as the larger set of commercial libraries. Perhaps a start would be to separate the two via a name change.

    Regards

    Brad

    Comment by Brad Phelan on July 29, 2008, 10:15

  2. Thanks for responding, Brad. I’m not familiar with how exactly it works, but Google ads could be a good idea.

    As for commercial entities contributing time, we already have both individuals and companies who are doing it – MySQL connector is a prime example of that. However, we’d like to get to a higher level – it is in everyone’s interest that the code base is kept in good shape, bug-free, that patches quickly find their way into the code base and releases are pushed out according to plans. Those are the things we’d like to address with this initiative. In order to get there, we think it is necessary to have someone taking care of POCO on a daily basis. If all interested parties join forces, we can come up with a setup where the framework is better taken care of and grows faster, all in the interest of mutual benefit.

    While POCO was initiated and is currently sponsored by Applied Informatics, it is in the public domain. We all have put some amount of work into it and we are all enjoying some benefits from it. The bottom line is – POCO belongs to all of us and we should get together and figure out how to take the best possible care of it.

    Comment by alex on July 30, 2008, 00:16

  3. I don’t agree to the fact that people would only donate if they do that for developement of the concrete feature(s).
    Actually I understand a donation mainly as a mechanism for saying “thanks” with some material matter, for what is already developed, not as financial ground for some feature–requests.
    That’s quite natural at my opinion to try the library, make use of it and then donate if the library appears to be useful (not ot say if it earns money to the body who uses it).
    Also I know that such approach definitely works. I’ve been participating in the project (not software one though) that exists exclusively on money gained this way from people saying “thanks” via PayPal…

    Comment by Dmitry on July 30, 2008, 11:03

  4. I’d like to say a few things regarding the state of the relationship between POCO and Applied Informatics, to avoid any possible misunderstandings.

    First, some history ;-) The POCO project (back then known as the C++ Portable Components) was started by me in 2004. The first public release on Sourceforge was on February 21, 2005, and initially the code was licensed under the Sleepycat license. In spring 2006 I founded Applied Informatics in its current form (I have used the name Applied Informatics before for my consulting activities), and shortly after, the license of POCO was changed to the Boost Software License, which made POCO free for anyone to use, no strings attached. It should be noted that this move laid the foundation for the growing popularity of POCO – although we still have to go a long way to reach the popularity of some other well-known open source libraries. Not long after the first public release of POCO in 2005, Alex joined the project as the first contributor. In the meantime, he has become the lead developer, and he does a great job leading the project (something that I should be doing, but cannot do to the necessary extent due to various circumstances). I’d like to take the opportunity to say Thank You for your great work, Alex. Within the last year or so, a few other contributors joined our project as well, and I really appreciate that. POCO now really is a community effort. But back to Applied Informatics. One of the goals of Applied Informatics is to provide commercial support*, and also commercial add-on libraries and tools to the open source POCO C++ Libraries. While, personally, I’d really like Applied Informatics to be a full open source company (read: also releasing our other libraries and tools under an open source license), my experience with open source business models tells me that this is not a good idea, business-wise (at least for the time being). Nevertheless, we’re still releasing a good amount of code we write (ApacheConnector, WebWidgets, Zip, etc.) under the Boost license, and we will continue to do so in the future. However, since we are a company, and we have to pay our employees, software licenses, rent, etc., and also make some good money (not mentioning getting back the money we’ve already invested into the development of POCO and our other products), we have to concentrate on things that generate revenue. While support subscriptions, license fees, etc. already make up some of our revenue, this is by far not enough to fuel the company exclusively, not to mention paying someone to work full time on POCO. That’s why we have to do consulting projects as well. Which is great, because we get to use POCO in real world projects, and the experiences we gain from that are a great input for the ongoing development of POCO. However, this simultaneously limits the time we can spend on the ongoing development of POCO, at least for now. This explains why currently our contributions are somewhat limited to critical bug fixes (and fixes to bugs reported by our customers) and features that our customers or we need ourselves. So, of course, we fully support the idea of having someone paid to work full-time on POCO – fixing all open bugs and the growing list of feature requests reported on Sourceforge. Whether this someone is employed by us, or by some yet to be founded entity funded by various supporters of the POCO project remains open (and the limited discussion in this thread tells me that this will remain an open issue for some time).

    Nevertheless, we will do our best to bring the POCO project forward, with the help of all contributors to the POCO project.

    Thanks for listening,

    G√ľnter

    * A good way to get a feature quickly into POCO, apart from doing it yourself, is to purchase a support subscription from us ;-)

    Comment by guenter on August 2, 2008, 07:01

  5. POCO is what C++ needs. It is kind of like what makes the STL so good… always there, always reliable and Object friendly. Attepting something similar to what SQLite has done is the right thing to do.

    Comment by pcunite on September 13, 2008, 15:43

RSS RSS feed for comments on this post. TrackBack URI

Leave a comment