8 ms·
I run Apache licensed storage library. It is not big, but consulting fees cover my living. Some time ago I changed development model. Public facing version is
by throw8932894 6y ago
I run Apache licensed storage library. It is not big, but consulting fees cover my living.
Some time ago I changed development model. Public facing version is still Apache 2 licensed. But now there are no unit tests and no integration tests, those are proprietary now. And I extensively use code generator which is also not public.
It is still possible to fork/modify code. Merging pull request is bit more difficult for me (backport stuff to code generator). But it works great and nobody noticed anything.
Practically any serious use of my library has to go through me now. And I am the hero because my code is virtually without bugs. Magic!!! :)
I become disillusioned long time ago. Also people told me several times unit tests do not matter... but in reality they are most valuable part of know how.
- fuball63 6y agoThis is a pretty interesting approach, but what is the point of it being open at all if it is prohibitively difficult to develop on without tests? To me it seems like a happy medium of being accessible while still protecting your livelihood.
- BossingAround 6y ago> This is a pretty interesting approach, but what is the point of it being open at all if it is prohibitively difficult to develop on without tests? Personally, I wouldn't use a proprietary library/framework unless absolutely necessary. I think it's a great strategy, actually; OP is sacrificing outside contributions while making it much more difficult for someone to just fork the project and bypass them entirely.
- throw8932894 6y agoI am not sacrificing much. Project was fully open for a while, bot no coauthor emerged. I only get minor patches. Contributions are happening outside core project, some people build pretty awesome stuff on my library, I also get connectors etc... I would say this approach fits great for one-men projects.
- gregors 6y agoI believe sqlite does the same thing.
- rsstack 6y agoThat's fine but that's not "Open Source" as the open source community sees it. That's just source-available. It's great: when I choose proprietary software, I'm much happier when I get the source code along with it since it can help with diagnostics and advanced cases. But it isn't "Open Source".
- BossingAround 6y ago> That's fine but that's not "Open Source" as the open source community sees it It's Apache 2. It's as "Open Source" as you can get [1]. [1] https://opensource.org/licenses/Apache-2.0 https://opensource.org/licenses/Apache-2.0
- rsstack 6y agoBut the actual source isn't Apache 2. It's just a build artifact that's licensed this way. It's "Open Package" not "Open Source". I can take a screenshot of Windows 10 and publish it under an Apache 2 license, but that doesn't make the Windows 10 source code "Open Source".
- zokier 6y ago> And I extensively use code generator which is also not public. 2. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost, preferably downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed. (emphasis mine)
- fabianhjr 6y agoThat applies to licensees not to the copyright owner (a person or other entity), though the copyright owner would be wise on requiring a CLA for contributions.
- ccmcarey 6y agoI think the author means he is the developer/license owner, in which case he can do whatever he wants, it's just other people that have to follow the license.
- throw8932894 6y agoI distribute output from code generator. It is fully readable with comments. I also receive some patches on generated code, which I port back to generator. I agree it does not fit strict definition of OS, but it fits Apache 2 license.
- pabs3 6y agoIt is definitely not compliant with the GPL family of licenses, so this could block GPL licensed projects from using your library.
- newusertoday 6y agoThat's interesting, i am big fan of generating code. Right now i am using handlebars for generating code but i am curious about your approach, what are you using?