Why write example code with an aggressively copyleft license? I’d probably be interested in reading these and giving feedback, but I won’t look at GPLv3 code unless I’m being paid to by someone with a legal team on staff.
but I won’t look at GPLv3 code unless I’m being paid to by someone with a legal team on staff.
Oh thats a bummer. I think your feedback would be very valuable. And, aren’t you at Microsoft, which do have a big legal staff? :p
In all seriousness, all the code I publish is licensed under the GPL, even simple example code. Other, more permissive licenses, allow people (and especially big corporations) to just take the code and not publish their changes under the same license. Not that I expect this project to be forked by Amazon who then make big money on it, not contributing back, but I find it is better to just draw a single line and use the same license everywhere.
Oh thats a bummer. I think your feedback would be very valuable. And, aren’t you at Microsoft, which do have a big legal staff? :p
If I need to look at GPLv3 as a Microsoft employee, we have a team of lawyers that I will consult. As a private individual; however, I am not going to look at your code unless there’s a really strong motivation that outweighs the potential liability.
In all seriousness, all the code I publish is licensed under the GPL, even simple example code. Other, more permissive licenses, allow people (and especially big corporations) to just take the code and not publish their changes under the same license
Usually, that’s the entire point of example code: For people to take it and incorporate derived works (i.e. things that they wrote that are directly inspired by the examples, including straight cut-and-paste) into their own code. I can’t imagine why you would want to go to the trouble of writing example code and then make it hard for people to use it as example code.
Some people don’t want to do free labor to help Microsoft employees in their commercial work, regardless of size or complexity of that work. That means Microsoft employees will have to look for examples to copy elsewhere, and that’s the intended outcome.
GPL isn’t a missed opportunity for fame or maximum proliferation of work. It’s a work done for the free software community, and explicitly not for others who make closed software.
To be clear: nothing in my comment has to do with being a Microsoft employee. I would not look at GPL’d example code long before I became a Microsoft employee, because it opens me to liability if something that I add in a personal project that is under any other license ends up being classified as a derived work. Most of my personal work is under BSD or MIT licenses, and I don’t want whoever ends up owning the example code to have grounds to sue me.
In fact, working at Microsoft, is one of the few times I have worked on GPL’d code (the Linux kernel). Without Microsoft’s lawyers behind me, I don’t want to expose myself to that kind of liability.
Nice work. Your “modern” C++ is more modern than mine ever got back when I regularly needed this, but this looks like a really good generalization of the boilerplate I used to dump into every C++ project that used OpenSSL.
(Compiler support for environments we were required to support prevented me from getting past c++-11 before I stopped needing to use OpenSSL from C++ on the regular.)
Why write example code with an aggressively copyleft license? I’d probably be interested in reading these and giving feedback, but I won’t look at GPLv3 code unless I’m being paid to by someone with a legal team on staff.
Oh thats a bummer. I think your feedback would be very valuable. And, aren’t you at Microsoft, which do have a big legal staff? :p
In all seriousness, all the code I publish is licensed under the GPL, even simple example code. Other, more permissive licenses, allow people (and especially big corporations) to just take the code and not publish their changes under the same license. Not that I expect this project to be forked by Amazon who then make big money on it, not contributing back, but I find it is better to just draw a single line and use the same license everywhere.
For my web projects I use the AGPL, which has resulted in me having to “enforce” it, because a company that used my code did not publish their changes (at least a useful Dutch translation): https://raymii.org/s/blog/I_enforced_the_AGPL_on_my_code_heres_how_it_went.html - in that case no money was involved.
If I need to look at GPLv3 as a Microsoft employee, we have a team of lawyers that I will consult. As a private individual; however, I am not going to look at your code unless there’s a really strong motivation that outweighs the potential liability.
Usually, that’s the entire point of example code: For people to take it and incorporate derived works (i.e. things that they wrote that are directly inspired by the examples, including straight cut-and-paste) into their own code. I can’t imagine why you would want to go to the trouble of writing example code and then make it hard for people to use it as example code.
Some people don’t want to do free labor to help Microsoft employees in their commercial work, regardless of size or complexity of that work. That means Microsoft employees will have to look for examples to copy elsewhere, and that’s the intended outcome.
GPL isn’t a missed opportunity for fame or maximum proliferation of work. It’s a work done for the free software community, and explicitly not for others who make closed software.
To be clear: nothing in my comment has to do with being a Microsoft employee. I would not look at GPL’d example code long before I became a Microsoft employee, because it opens me to liability if something that I add in a personal project that is under any other license ends up being classified as a derived work. Most of my personal work is under BSD or MIT licenses, and I don’t want whoever ends up owning the example code to have grounds to sue me.
In fact, working at Microsoft, is one of the few times I have worked on GPL’d code (the Linux kernel). Without Microsoft’s lawyers behind me, I don’t want to expose myself to that kind of liability.
Nice work. Your “modern” C++ is more modern than mine ever got back when I regularly needed this, but this looks like a really good generalization of the boilerplate I used to dump into every C++ project that used OpenSSL.
(Compiler support for environments we were required to support prevented me from getting past c++-11 before I stopped needing to use OpenSSL from C++ on the regular.)