Open Sourcing with (Imperfect) Revision History? 27
AArnott asks: "My company is open-sourcing a private project that has been in development for 4 years. It's history is all in our internal Subversion server. The history of the project includes dependencies on source code that we are not open-sourcing. Should we just publish the latest version (now that we've removed the dependencies) and leave out the old history? Or should we publish the history, even though no previous revision will build, due to the dependencies that we are not including?"
Publish the current version (Score:2, Interesting)
Learning utility (Score:4, Insightful)
Re:Learning utility (Score:1)
Agreed! Being able to get an annotated view [cenqua.com] helps me a lot when I'm coming to grips with a code base. It doesn't matter if the old versions build; the history is very valuable in its own right.
Re:WTF? (Score:1)
When someone ask the community a question in earnest, especially one which has its interests in mind, is it necessary to belittle the question? This is a longstanding and, ipso facto, disturbing trend amongst Slashdotters. So, why can't we all just get along?
btw, due to the nature of this post, and the prevaling culture here at Slashdot, I can forsee myself as the target of much flaming/dissin'/general discourtesy/etc as a result. Just
No good deed... (Score:5, Insightful)
Re:No good deed... (Score:2)
Re:No good deed... (Score:1)
Start fresh from the latest version. (Score:5, Insightful)
CM systems improve communication between developers by allowing them to synchronize their work as well as preventing simple developer mistakes from turning into massive code rewrites (but you don't need more than two weeks of history to accomplish these goals). The reasons you usually carry around all of the extra baggage of the old versions is for (1) establishment of legal ownership (copyright information) (2) simultaneous maintenance of multiple versions in the field and (3) to show some history of how you got to where you are.
Legal ownership is important, but you get that by keeping a few backups in your long-term storage. You don't have versions in the field (not of the open-sourced version anyway) so that's a moot point. The "how we got here" argument is also of minimal value as long as someone who knows the code is still around. The knowledge of how things were developed in a decent developer's head will be much easier to use than attempting software archeology on a stale file repository.
Regards,
Ross
Re:Start fresh from the latest version. (Score:1)
It will show the world that you have changed your project for the better.
Re:Start fresh from the latest version. (Score:2)
Shame I don't have modpoints for "-1, can't be arsed to read other people's posts so we shouldn't have to read yours".
Re:Start fresh from the latest version. (Score:2)
Re:Start fresh from the latest version. (Score:2)
Publish the history (Score:3, Insightful)
Re:Publish the history (Score:2, Insightful)
GPL requirements? (Score:1)
Dependencies are irrelevant. (Score:2)
Take Crossover Office, for example. It depends on the Linux kernel, X, libstdc/libstdc++, and almost certainly glibc. Each of those are GPL. But Crossover Office is released under a commercial license.
Dependencies are irrelevant to the GPL; it's a matter of being a derivative work. If a GPL library offers certain functions, my code doesn't incorporate the body of those functions if I use that libra
Re:Dependencies are irrelevant. (Score:1)
If the package depends on (links against) things that are GPL, the package must be released under a GPL compatable license.
To fix your example.
Crossover Office is commercial, it depends on
The linux kernel - this is GPL, but the GPL requiremnt doesn't apply to things that interact with the kernel using normal system calls.
X - is not GPL, its licensed under the X license , a modified BSD license.
libstdc - is LGPL, you can link commerc
Re:Publish the history (Score:3, Informative)
But he's not omitting to release all of the dependencies --- the OP explicitly says that there are no (external) dependencies. There were, in the past, but not any longer. It's the current version that is being released under GPL, not something that it grew out of four years ago.
The previous version was under a different licence (or maybe none at all, if it never
If no ones seen it before (Score:2)
The only use it might be is to illustrate the evolution of the code from using one method to another and the reasons for such changes (to lay to rest anyone proposing a former method).
Your audience isn't starting at vers. 5.5 but at the intial version (in thier perspective)
value of information is always positive (Score:3, Insightful)
so... realease as much as you can.
Dont split the history (Score:3, Interesting)
I went through this with my current company a few years ago, and we decided to publish only the current revision. I wish we hadnt.
More information can't hurt... (Score:2)
Bugs may bite sometimes (Score:2, Insightful)