3 ms·
CppCMS license is LGPLv3 - not too company friendly. CppDB on the other hand is MIT or Boost. It is the best DB library I found so far for C++.
by CCs 13y ago
CppCMS license is LGPLv3 - not too company friendly.
CppDB on the other hand is MIT or Boost. It is the best DB library I found so far for C++.
- nitrogen 13y agoHow is LGPL not company friendly? It allows you to make all the changes you want for your own web site without having to distribute source code. If CppCMS is designed as a library, you can even use it in proprietary applications.
- CCs 13y ago1. It is limiting: no static linking or you have to distribute re-linkable object files (LGPL section 4.d.) 2. It is long and complex license, not yet tested in court. Sometimes what constitutes a "derivative work" is not that clear. 3. Section 6 says all these can be changed anytime, potentially making it more restrictive (see GPL v3). So from the business viewpoint it is better to find an alternative now than to potentially lose all the investment later.
- thezoid 13y agoThe LGPL doesn't apply to network distributed software. Working with this software via an API (i.e. HTML) doesn't mean you need to do anything. These kinds of licenses are put in place so people can't create proprietary extensions/patches and fracture a community. Now, I'm not saying this is better than MIT, but at least deters people from that. 1. will only matter if you are distributing binaries to clients/customers, which generally isn't the case with a SaaS product.
- CCs 13y agoIt does limit your future options. GitHub started out as SaaS and now offers Enterprise product https://enterprise.github.com/ https://enterprise.github.com/
- nitrogen 13y agoCppCMS also offers commercial licensing. Don't get me wrong, I love BSD and MIT software, and release some of my own code under permissive licenses, but it really bothers me when someone complains about the GPL or LGPL because they want to free-load off of others' hard work. The LGPL is a very commercial-friendly license!
- interpol_p 13y agoI like to release my libraries and tools under the BSD license, and I like to use others' permissively licensed libraries and tools in my own proprietary/commercial/closed applications.
- greyfade 13y agoLGPL doesn't stop that. You can still distribute your own source under your preferred BSD license. And if you link dynamically, the LGPL can't impose its requirements on your code. The LGPL only requires that binary distributions of the derivative work have source reasonably available and that the library can be switched for another version by an end-user.
- CCs 13y agoI really like the fact that Linux is GPL, the license served the community well. For large, stand alone apps it makes sense. On the other hand I try to avoid GPL/LGPL for components. Here is a scenario: 1. Invest in developing your app based on CppCMS 2. It takes off, great - buy commercial license. 3. The next version of LGPL gets more restrictive, you're stuck with commercial license. 4. Artyom gets hired by Google/Apple, no time for CppCMS anymore; only the LGPL fork gets fixes from now on. 5. Throw away your investment (time and money), start learning something else - how cool is that?
- nitrogen 13y agoThat can happen with BSD software, too. Thr LGPL only gets more restrictive if the author releases a new version of their library that only permits the new LGPL version. Any project can change its licensing at any time, but with most open source licenses you retain your rights under the old license.
- nitrogen 13y ago1. It is limiting: no static linking or you have to distribute re-linkable object files (LGPL section 4.d.) Static linking is fairly uncommon; it's more common to distribute the versions of DLLs you require on Windows, or use a package dependency on specific versions (or provide your own copies) of the system-provided libraries on Linux. 3. Section 6 says all these can be changed anytime, potentially making it more restrictive (see GPL v3). Section 6 of LGPL3 does not say that; it says that you have the option of choosing a later version. Any code released under "GPLv2 or later" can still be used under GPL2. https://www.gnu.org/licenses/lgpl.html https://www.gnu.org/licenses/lgpl.html
- nly 13y ago> CppDB on the other hand is MIT or Boost. It is the best DB library I found so far for C++. Have you evaluated Code Synthesis's ODB?
- muyuu 13y agoAre these key-value DBs like LevelDB / BerkeleyDB / etc? or maybe something more sophisticated?
- CCs 13y agoBoth CppDB and ODB are abstraction layers between your code and SQL (Postgres, mySQL etc). ODB is somewhat closer to ORM. CppDB uses MIT or BSD license (you pick), ODB is under LGPL or commercial license.
- CCs 13y ago> Have you evaluated Code Synthesis's ODB? I did not test ODB yet, but I'm planning to. Not fan of their license tough...
- kybernetyk 13y ago> CppCMS license is LGPLv3 - not too company friendly. Actually LGPL is as 'free' as it gets with the GPL license family. If I wanted to be 'company unfriendly' I'd choose the AGPL. But the thing is: Arguing about licenses is nonsense. The developer has an agenda and chooses the right license for it. For me if I release open source I almost always license it under GPL3/AGPL because I don't want someone to take my code, stuff it into a closed system and make money of it. If I decide to contribute to the open source community I don't want leeches to profit from it. If you want to use my code commercially: pay me.
- greyfade 13y agoHow is LGPL not company friendly? As CppCMS is to be used on the server, there's no requirement to redistribute code, so the redistribution requirements of the GPL and LGPL don't apply to anyone except internally to the company. And even if the company chose to open their source and distribute it, using dynamic linking allows them to choose any GPL-compatible license they like. I don't see how it's "not company friendly."
- belorn 13y agoSince Blizzard use LGPL in their flagship product Starcraft 2[1], I would consider your statement to be verifiable false. [1]: See the end of the credit from SC2 HoTS