Go is using a modified BSD license. I would like to use the same license for some projects, most parts / libraries will be published under an open source license, but clients do demand some of the business logic to be closed. There might be a possibility that a future client needs a copy of the software (distribution).
I found this small Go library which almost fitted some requirements. In order to can really use it, I've created a fork on GitHub and re-written most of it's interfacing methods to fit our needs. Then I found out I've been reluctant to check the
LICENSE file, which contains the GPLv2. Bummer.
The library, including unit, integration tests and example code is roughly 500 lines. I've modified 100+ lines, but I haven't published them yet.
Now, can I choose to separate the changes I've done into a new project and fill in the blanks by re-writing those parts? There are large parts of the original code I can do without (like examples), so I imagine this is only a few hours of work.
Some methods of the library are so simple and short that for sure my resulting code will look the original in some parts, that would be unavoidable. Practically those short functions are alias functions for an imported Go standard library, already licensed under modified BSD. The rest I will implement it my own way, so I will not be copy-typing the original library.