My understanding of the CC-BY-SA is that if you use a snippet of CC-BY-SA code in a larger project, not only must you reveal the source code of your entire project, but you must also brand the entire project's code-base with the CC-BY-SA license.
My concern would be that if I, at one stage of a project, used a little snippet of CC-BY-SA code, my entire project would have to be CC-BY-SA, even if the original CC-BY-SA snippet was removed.
I understand that the CC-BY-SA is only relevant when the project is published, but if I had a project in a CI/CD pipeline, it is always being "published" whenever a change is made.
Think of this theoretical example:
- You make a website.
- You deploy it in a CI/CD pipeline.
- You keep makings commits (each one is immediately deployed) .
- You copy code that's CC-BY-SA licensed not understanding the full implications (perhaps you thought CC-BY-SA only required attribution like MIT or CC BY 3.0)
- You find out that the CC-BY-SA code snippet you used means the entire project must now bear the CC-BY-SA license.
The problem here is that if the author panics and removes the CC-BY-SA code snippet it's too late. The ENTIRE project has forcibly become CC-BY-SA. If the original CC-BY-SA code is removed it doesn't matter because every step constitutes as being published, binding the code base as CC-BY-SA. Furthermore, the entire project is now (for lack of a better term) infectious... If you say "I'll just start over," you can't use ANY of your original code base at any commit, or your new app will also become "infected," and then you'll have to start over again and not use any code from either project...
I hope I am wrong. Is there any legal theory that can save the situation I described? I'd hate to think that any code base I've been working with that has touched CC-BY-SA code must be thrown out.