3 ms·
Layman here, but this seems pretty easy to answer for GPL at least because it defines [1] what "source code" means (with a rather brilliant definition, I might
by mehrdadn 6y ago
Layman here, but this seems pretty easy to answer for GPL at least because it defines [1] what "source code" means (with a rather brilliant definition, I might add):
> The "source code" for a work means the preferred form of the work for making modifications to it.
I expect it would be tough to argue that the preferred form of a work to modify is its history rather than its present form.
[1] https://www.gnu.org/licenses/gpl-3.0.txt https://www.gnu.org/licenses/gpl-3.0.txt
- markrages 6y agoWhen I modify a program, I often refer to its history. So my preferred form would be something like a git repository, rather than just a tarball.
- mehrdadn 6y agoIt's the form you would prefer to modify, not the information you would prefer to have available. I'd prefer to have all the information in the world available, but that doesn't make everything the source code.
- gizmo686 6y agoMy preferred form of a work would be the a VCS repository with the complete history (assuming it is a familiar VCS like git. If you are using some obscure VCS that I can't get to work, I'd settle for a simple source dump). Almost every project I have worked on has went out of its way to maintain a good history. Wheather it is by cleaning up commits before merging into a main branch; making sure history gets copied when a reorganization moves a significant amount of files to a different repository, or making sure history gets copied when an entire repository moves over to a new VCS.
- mehrdadn 6y agoThe quote was that the source code is the form of the program you would prefer to modify, not the information you would prefer to have available. These are different things.
- maccard 6y ago> Almost every project I have worked on has went out of its way to maintain a good history. I don't think that's true of even a majority of projects. Apart from anything else, you would need to separate code that is redistributable and code that is not, and presumably scrub them from the history. On some VCS, that is not trivial at all. Also, the history is likely much less clean than you're making it out to be. The history of Main in trunk based development is likely to be a gigantic pile of nonsense in my experience.
- thayne 6y agoThe GPL doesn't require history, but that doesn't answer the question of if there is another license that does.
- llarsson 6y agoThat means, IMHO, that you can't only distribute generated Assembly code instead of your original C or whatever. Because while technically "source code" (not a binary!), it is not the form in which development actually takes place.
- mehrdadn 6y agoI believe that's the intent of the clause. It's pretty clever.