I'm a big linux fan, so I guess you could claim I'm biased, but at the time we did the tests 95% of my development was on windows, so...
back before 2k, we did tests on loopback device performance on win95 and winNT. win95 was really bad, NT wasn't great. we ended up writing our own support using shared memory on windows to get the speed we needed. IIRC linux on a 486 beat win95 on a P-233 and I think it was on par with winNT on a PPro-200. The code to do this was in C++ and we abstaracted it behind a generic interface and on linux we used the straight OS support since it was plenty fast.
Yup, have to agree with you. Of course it isn't just bad admins, it is bad technology workers in general. I have moved into Network/System admin full time now, but last summer I had the fun of interviewing people for software development positions. I think I interviewed about 50 folks over 2 months, and there were I think 2 that we considered, and they weren't what I would call senior.
*sigh*
Oh, which add solaris to the mix. With the new GUI installer I have seen people who are scared of a unix command line point and click their way through the Solaris 8 install.
These "enabling" installers that are around these days REALLY scare me.
sorry about that... one problem of filtering out comments... the one you replied to I didn't see as I filter anything under 2 (and the d00dz comment had been moderated down). It looked like you were just making a flamebait statement...before I go off in the future, I'll try to look for context:)
Apples, Oranges... man you are showing yourself being clueless with a comparision like that. ever look at RC5 results... on a 400Mhz USII I think it gets about 700Kkey/s a PIII650 gets like 1.8 Mkeys... the 700 to 1800 is far more than the Mhz diff (the PIII would have to be at over 1GHz to be just spped scaling). The Sparc may just do the instructions for Seti better than the athlon. why Alphas smoke on DES but not on RC5.
"The final keyword in Java also serves the purspose of constant declarator for variables. This/is/ what const is used for in C++, right? You/can/ declare constants in Java. Is there something else special "const" does that you are saying Java does not support? "
uh yeah...I guess you haven't done much C++. const can also be used to make a constant object. an object where only constant methos can be called. it can be quite handy to hand back a reference or pointer to a const object. that way the person can't change the object (it becomes read-only). this is a missing item in Java. you would need to clone the object, but assuming you are dealing with Objects (like if you are deserializing from a DB and caching them, so you need the caller to get a readonly copy), you can't assume clone is available, since String isn't cloanable...
yes filesystems will have probelms, but guess what so will NT as a lot of the API's you call won't vut it even if the underlying FS does (not sure on NTFS... would have to look it up)
uhh.. not exactly... the nasty guy for 2038 is the time function there are functions in unix (gettimeofday for example) that at least on some platforms defines the seconds as a long, so on 64-bit you get a lot of room...
and time() is available under all win32 compilers I know of, so it comes down to the API called.
The ruling the PTO originally used to justify patents was one (I can look the case up if you want) where using a computer as part of a process was deemed not enough to make the process unpatentable. A computer was assisting a manufacturing process. That is a far cry from the patents that are allowed on software today.
As for peer review. too late. the cat is out of the bag. There are thousands of bogus software patents. The only way the PTO could again gain respect in my eyes would be to invalidate all software patents and start the approval process over again.
Plus I don't pity the patent examiners... just doing their job. oh please. A big part of their budget is based on how many patents they approve. So they have an incorrect bias in approving patents. It is a blantent case of conflict of interest. Much like how a judge can't preside on a case where he has an interest in the outcome (like he would make a mil on his stock in the defense won for example)
Exactly Software Janitor. If he thinks the Repulicans are bad at padding budgets, man... (not to say Republicans don't pad budgets, I think all politicians due to some degree)
You hit the point right on. This isn't a partisan issue. I haven't see a party that is really rallying on this issue. Not even from the Liberterians. They may have official statements condeming it (I would be surprised if they didn't) but I haven't seen them pushing the issue.
Refreshing to hear another intelligent soul out there.
Currently due to the restrictive nature of the GPL, a lot of projects are GPL+exceptions.
You say so what? well because of the exceptions none of those projects can legally share code without every author (including the author of every patch) has to legally tranfers rights.
Which is a pain, so what happens, people just share code anyway. anyone who THINKS about the GPL will realize it isn't practical for a lot of situations.
The intent is to share code (at least according to the philosophy section at the FSF). This is supposedly the spirit of the GPL. Problem is the literal GPL reduces sharing if it was followed.
Thankfully most folks in the OpenSource community just get things done and they ignore the literal violations of the GPL they are doing even though their actions are precisly under the spirit of what the FSF says the GPL was supposed to do...
you MUST be smoking crack! I rmemeber when nVidia took a lot of heat over the obfuscated source code drivers they released. They had too, and they have been working at getting full source available. (by had to it was other folk's code that they didn't have the legal right to release).
Compare that to 3dfx who is binary only. I couldn't believe that dared to show up to linux expo... even there they were talking soley binary only...
plus they do glide... glide should die... openGL is standard...
You have got to be kidding me. One of the best/most common topics of the NTSecurity mailing list, is what service packs with what hot fixes should be installed and in what order. I haven't looked in a few months but at one point it was a greater than 20 step process. I personally find rpm -UFvh *.rpm much easier.
I never get why people insist bugs only occur in software projects. Now don't get me wrong I see a serious problem in the Software industry. But There are plenty of other industries which have similar problems:
We would never have electrical fires if there weren't "bugs" in the wiring.
I think a lot of folks would say there was a Show stopper in the titanics flood control design (the bulkheads didn't go to the ceiling.
If you have ever bought/lived in a house, there are alwaysd little things here and there (i.e. bugs). Shoot the tract home I grew up in had lots of them (I don't think there was a pair of studs 16" apart).
Now I personally think the state of the software industry is in shambles. People are writing tons of throw away apps using these cool nifty visual tools, only problem is the apps stay around and become huge piles of junk.
Part of the reason is most managers know nothing about software so it is harder for them to see what their butchering of schedules does to the code. (If I make a crappy kitchen table it is far easier for the common person to see it is bad. It is much harder for a barely computer literate person to tell what good vs. bad code looks like.)
Also, although the buck does stop with the developer on schedules, most developers won't quit over the issue of code cleanliness. I have had many co-workers who weren't willing to get fired on the principle of staying a professional programmer by insisiting on producing professional code. I was that way for a while (my first few years as a profesasional coder). Now I don't, (partially beauce the supply/demand curve for programmer is in my favor) but at least a portion of the blame needs to rest on the managers pushing for the tight schedule.
If you think 5 NT 4.0 service packs are like 12 kernel patches you must be crazy. And I don't even want to count the number of "hotfixes" available. Your disdain for Open Source software and reality makes me think you are really a Micorsoft employee (one of the folks they send out undercover trying to create havoc). If you think code quality in commercial products is so great then why does my NT workstation find ways to run out of memory all by itself (oh and forget checking malloc, when NT runs out of virtual RAM it croaks bad).
Yes the stale locks problem does happen on some projects. Not sure why, I've have seen it reported from time to time on info-cvs, but haven't experienced it yet myself. I think it happens when people using it kill off clients in the middle of using it in wierd ways.
Anon setup is a little interesting, I would recommend looking at the info-cvs mail archive. There has been a recent thread on that subject.
Basically right now cvs stores files not directories, so if all files in a sub-dir are cvs remove'd then the next update -dP will clip the dir from the local working directory. and updates on an old rev will of course re-create it.
cvs is definently in cvs. write access is slow in coming. basically you show you can write good patches before access is given (which is how the linux kernel works in reality). I personally don't have write access yet, but I haven't submitted a patch yet, so I don't think I deserve it yet. Which I greatly prefer controlled access to anyone who shows up gets commit access.
With the switch out there has been discussion in the cvs communitee about commit access, and it probably will get loosened a bit. But the development model already is fairly open.
(which go ahead and mail me if you want more info -- I tend to lose track of/. articles I have responded too at times)
Interesting, in my experience, I have found CVS to be quite stable. Far better than some of the commercial VC's I've used.
The biggest lacking in feature I see (and one of the biggeset improvments bitkeeper has over it) is multiple repositories that can sync themselevs up. Now there do exist add-on packages to CVS that do just that (haven't tried them yet... one of these days)
Personally I found the admin setup and getting a secure version very straightforward and simple (compared to PVCS, MKS SI, and QVCS)
Which you can remove directories from the tree -- not intuitively, but that is why getting directory handling better is on the todo list.
As for branches, I have found cvs's branching support almost too easy to use. I think branches shouldn't be heavily used and with cvs it is too easy to create and use a branch. And so far with the branches I have had to do under cvs the process was easy to do (again compared to any of the other VC's I have used)
So all in all, I would agree cvs has some issues (mine actually aren't any of those listed, has to do with the cvs edit feature). Of course the issues I am concerned about I am writing patcheds to fix:).
Interesting you mention the BSD licenses in your Free Software mark. RMS wouldn't agree with you on that one. To him BSD isn't free software. Shoot it isn't based on the FSF's definitions. Which is fine by me, becuase I don't consider the GPL free in the freedom sense. But at least after a 3 week barage of e-mails with RMS, I finally got him to admit I was right on the points I was complaining about in the GPL. (Basically the GPL doesn't share with other projects, so GPL'd aplication has to be pure GPL). But as a friend of mine mentioned, no biggie, the GPL is so vague that once it gets put in court it will get declared void anyway...
Actually the LGPL does (there is a clause in the LGPL that says it can be converted to the GPL)
Which is my point, since the combined work is under the GPL, then all items in the distribution fall under the GPL.
Which is why unless a license allows a change to the GPL like the LGPL does, you can't use it with the GPL.
From the GPL part 2: "...distribution of the whole must be on the terms of this License..."
And from my conversations with RMS, he agrees, but still thinks there is such a thing as GPL-compatible (although he has yet to explain how if the former is true, the later can be)
BUT, the proplem comes in on a long term maintained project. You would have to get the permission of all copyright holders to move from GPL back to LGPL.
It gets worse. When you distribute a GPL'd application (App) linked with a LGPL'd lib (Lib), Lib is distributed under the GPL (GPL does not allow being distributed with anything but GPL, and LGPL converts automatically to GPL). So If I make a mod to the Lib code included in the whole distribution those mods are under the GPL and can't be legally resubitted to the LGPL body (unless the author of the mod does it themselves). (from Part 2 of the GPL)
So you now have a code branch. In reality most people just violate the licenses left and right. Basically the GPL is so strict that it doesn't work well in reality. Which is why a lot ofg projects use a GPL with exceptions (wxWindows, sane, the linux kernel, etc...).
cool thing is expections to the GPL make the project no longer GPL (part 8 specified the only allowed exception to the GPL). so technically any "GPL" project with an exception can't legally use pure GPL code...
gotta love it... so much for the FSF's philspohy page talking about sharing code and building on ideas.
Actually I understand the GPL quite well. More than a lot of folks. I have poured over the license heavily looking at exactly what it allows and doesn't allow. My concern is that I truely beleive most people who release things under the GPL don't fully understand the restrictions they are locking their code into.
The problem I have is mentioned in the my reply to my reply above. My gripe really doesn't come with the GPL at an application level. It has to do with the library level. You can't use any non GPL libraries in a GPL application (if anyone can point out how I'm wrong I would love to hear it).
Most people don't seem to be able to grasp the difference. I think most of my annoyance is that the FSF tries to take the high ground touting freedom. (eh, who doesn't like freedom). The problem is the GPL doesn't protect freedom at all. at least not the freedom of a programmer.
Case in point: Say I release something under the GPL. I later get patches that I merge in. Then on down the road I want to use a artistic or Berkeley library from the code. I can't. If I hadn't gotten patches I could re-release it under a more free license that allows me to use open source libraries. But since other's work are now a part of it, I would have to get their permission to interact with open source projects.
That is fine. I just wish people were up front about it. Also GPL programs should then be fixed to not use any non GPL'd code. I can't think of a single GPL'd program on my machine that wouldn't violate this. They alll link in glibc which is LGPL'd not GPL'd.
Bottom line: What I am saying is no library is GPL compatible. If there is way to make a license GPL compatible, where is that specified in the GPL???
Sounds find to me. But the GPL is not means to that end. The GPL is promoting companies not to open up their code.
And yes, I did mean that statement. The transition to open code is going to be a gradual one. The first step I see is making the libraries open.
Unfortunatly with the GPL it is all or nothing. I can't making an open lib for use in the both GPL'd and non GPL'd apps period end of story.
That sucks. Under clause 2 of the GPL (since it is so broke it doesn't say clause 2 refers only to source code definitions) anything linked with GPL based code has to be GPL. whoops...
Of course that implies I have freedom. I don't. I write software, and I can't write a GPL application or even help on the development of one.
Why? Well short answer: the GPL is an absorbing badly written license longer answer: I can use all Open Source libraries except GPL ones together is a open true freedom environment. I have the freedom to use the libraries to get the job done. In a GPL application I can only use GPL libraries. Under clause 2 of the GPLv2. ANY, and I mean ANY thing that gets distribution with the GPL'd code (which means part of the same executable binary MUST be covered under the GPL. Item two of the GPL may supposed to say it applies to source code, but it doesn't. So every GPL application out there that links with glibc is violating license terms.
I have been in recent discussions with both ESR and RMS on this subject. RMS has gotten back to me yet with my assertion that the GPL violates point 9 of the OSD due to this fact.
Which pardon me for sounding upset at this, but I am. I like the idea of open source code. One of my mainstays is windows development. and not having code available to fix trivial one-liners in the OS frustrates me. But finding these types of things in the GPL that make it so my hands are tied as a programmer frustrates me even more. I think a lot of people out there think the GPL is a code thing, but haven't actually gone through the process of looking at the thing and seeing the evil that it is.
People seem amazed that there are so many licenses coming out. Well I know why. It isn't becuase companies are greedy (well some are), any IP lawyer who looks at the GPL gets scared to death. Basically any code that comes near the GPL has to become GPL itself. That may be a good thing for RMS who wants all code to be GPL, but it isn't practicle in todays world.
I am actually making my own library license. Why? I want two things from a library: 1) changes to the library itself I want open and available 2) I want programmers to be able to use it freely (and I'm talking real freedom here, not "gnu freedom")
for 1) GPL/LGP/artisitc/etc do wonders for 2) GPL no go, and LGPL won't fly either as it's C++ temwplate code so we go past the 10 line limit on functions... oops.
enough rant... time to go back to working on a truely freedom paced software project
Yup. Sean I lean your direction. Considering the GPL is 6 pages, you would think it would at least be clear. The Berkeley license has like 3 real clauses (or 2 if you have the non advert one).
GPL is actually more hooking than most others. Pretty much anything that touches GPL becomes GPL. Which makes sense. It seems it least that RMS wants to have every line of code on the planet available under the GPL.
The GPL is actually fairly entangling (which is why I won't use it, it binds my hands as a programmer... so much for freedom)
I'm a big linux fan, so I guess you could claim I'm biased, but at the time we did the tests 95% of my development was on windows, so...
back before 2k, we did tests on loopback device performance on win95 and winNT. win95 was really bad, NT wasn't great. we ended up writing our own support using shared memory on windows to get the speed we needed. IIRC linux on a 486 beat win95 on a P-233 and I think it was on par with winNT on a PPro-200. The code to do this was in C++ and we abstaracted it behind a generic interface and on linux we used the straight OS support since it was plenty fast.
Yup, have to agree with you. Of course it isn't just bad admins, it is bad technology workers in general. I have moved into Network/System admin full time now, but last summer I had the fun of interviewing people for software development positions. I think I interviewed about 50 folks over 2 months, and there were I think 2 that we considered, and they weren't what I would call senior.
*sigh*
Oh, which add solaris to the mix. With the new GUI installer I have seen people who are scared of a unix command line point and click their way through the Solaris 8 install.
These "enabling" installers that are around these days REALLY scare me.
sorry about that... one problem of filtering out comments... the one you replied to I didn't see as I filter anything under 2 (and the d00dz comment had been moderated down). It looked like you were just making a flamebait statement...before I go off in the future, I'll try to look for context :)
Apples, Oranges... man you are showing yourself being clueless with a comparision like that. ever look at RC5 results... on a 400Mhz USII I think it gets about 700Kkey/s a PIII650 gets like 1.8 Mkeys... the 700 to 1800 is far more than the Mhz diff (the PIII would have to be at over 1GHz to be just spped scaling). The Sparc may just do the instructions for Seti better than the athlon. why Alphas smoke on DES but not on RC5.
"The final keyword in Java also serves the purspose of constant declarator for variables. This /is/ what const is used for in C++, right? You /can/ declare constants in Java. Is there something else special "const" does that you are saying Java does not support? "
uh yeah...I guess you haven't done much C++. const can also be used to make a constant object. an object where only constant methos can be called. it can be quite handy to hand back a reference or pointer to a const object. that way the person can't change the object (it becomes read-only). this is a missing item in Java. you would need to clone the object, but assuming you are dealing with Objects (like if you are deserializing from a DB and caching them, so you need the caller to get a readonly copy), you can't assume clone is available, since String isn't cloanable...
yes filesystems will have probelms, but guess what so will NT as a lot of the API's you call won't vut it even if the underlying FS does (not sure on NTFS... would have to look it up)
uhh.. not exactly...
the nasty guy for 2038 is the time function
there are functions in unix (gettimeofday for example) that at least on some platforms defines the seconds as a long, so on 64-bit you get a lot of room...
and time() is available under all win32 compilers I know of, so it comes down to the API called.
The ruling the PTO originally used to justify patents was one (I can look the case up if you want) where using a computer as part of a process was deemed not enough to make the process unpatentable. A computer was assisting a manufacturing process. That is a far cry from the patents that are allowed on software today.
As for peer review. too late. the cat is out of the bag. There are thousands of bogus software patents. The only way the PTO could again gain respect in my eyes would be to invalidate all software patents and start the approval process over again.
Plus I don't pity the patent examiners... just doing their job. oh please. A big part of their budget is based on how many patents they approve. So they have an incorrect bias in approving patents. It is a blantent case of conflict of interest. Much like how a judge can't preside on a case where he has an interest in the outcome (like he would make a mil on his stock in the defense won for example)
Exactly Software Janitor. If he thinks the Repulicans are bad at padding budgets, man...
(not to say Republicans don't pad budgets, I think all politicians due to some degree)
You hit the point right on. This isn't a partisan issue. I haven't see a party that is really rallying on this issue. Not even from the Liberterians. They may have official statements condeming it (I would be surprised if they didn't) but I haven't seen them pushing the issue.
I like how the webmaster gave up and killed images on the front page.
/. vs. gpo goes to /. :)
round one of
Refreshing to hear another intelligent soul out there.
Currently due to the restrictive nature of the GPL, a lot of projects are GPL+exceptions.
You say so what? well because of the exceptions none of those projects can legally share code without every author (including the author of every patch) has to legally tranfers rights.
Which is a pain, so what happens, people just share code anyway. anyone who THINKS about the GPL will realize it isn't practical for a lot of situations.
The intent is to share code (at least according to the philosophy section at the FSF). This is supposedly the spirit of the GPL. Problem is the literal GPL reduces sharing if it was followed.
Thankfully most folks in the OpenSource community just get things done and they ignore the literal violations of the GPL they are doing even though their actions are precisly under the spirit of what the FSF says the GPL was supposed to do...
you MUST be smoking crack! I rmemeber when nVidia took a lot of heat over the obfuscated source code drivers they released. They had too, and they have been working at getting full source available. (by had to it was other folk's code that they didn't have the legal right to release).
Compare that to 3dfx who is binary only. I couldn't believe that dared to show up to linux expo... even there they were talking soley binary only...
plus they do glide... glide should die... openGL is standard...
You have got to be kidding me. One of the best/most common topics of the NTSecurity mailing list, is what service packs with what hot fixes should be installed and in what order. I haven't looked in a few months but at one point it was a greater than 20 step process. I personally find rpm -UFvh *.rpm much easier.
I never get why people insist bugs only occur in software projects. Now don't get me wrong I see a serious problem in the Software industry. But There are plenty of other industries which have similar problems:
We would never have electrical fires if there weren't "bugs" in the wiring.
I think a lot of folks would say there was a Show stopper in the titanics flood control design (the bulkheads didn't go to the ceiling.
If you have ever bought/lived in a house, there are alwaysd little things here and there (i.e. bugs). Shoot the tract home I grew up in had lots of them (I don't think there was a pair of studs 16" apart).
Now I personally think the state of the software industry is in shambles. People are writing tons of throw away apps using these cool nifty visual tools, only problem is the apps stay around and become huge piles of junk.
Part of the reason is most managers know nothing about software so it is harder for them to see what their butchering of schedules does to the code. (If I make a crappy kitchen table it is far easier for the common person to see it is bad. It is much harder for a barely computer literate person to tell what good vs. bad code looks like.)
Also, although the buck does stop with the developer on schedules, most developers won't quit over the issue of code cleanliness. I have had many co-workers who weren't willing to get fired on the principle of staying a professional programmer by insisiting on producing professional code. I was that way for a while (my first few years as a profesasional coder). Now I don't, (partially beauce the supply/demand curve for programmer is in my favor) but at least a portion of the blame needs to rest on the managers pushing for the tight schedule.
If you think 5 NT 4.0 service packs are like 12 kernel patches you must be crazy. And I don't even want to count the number of "hotfixes" available. Your disdain for Open Source software and reality makes me think you are really a Micorsoft employee (one of the folks they send out undercover trying to create havoc). If you think code quality in commercial products is so great then why does my NT workstation find ways to run out of memory all by itself (oh and forget checking malloc, when NT runs out of virtual RAM it croaks bad).
Yes the stale locks problem does happen on some projects. Not sure why, I've have seen it reported from time to time on info-cvs, but haven't experienced it yet myself. I think it happens when people using it kill off clients in the middle of using it in wierd ways.
/. articles I have responded too at times)
Anon setup is a little interesting, I would recommend looking at the info-cvs mail archive. There has been a recent thread on that subject.
Basically right now cvs stores files not directories, so if all files in a sub-dir are cvs remove'd then the next update -dP will clip the dir from the local working directory. and updates on an old rev will of course re-create it.
cvs is definently in cvs. write access is slow in coming. basically you show you can write good patches before access is given (which is how the linux kernel works in reality). I personally don't have write access yet, but I haven't submitted a patch yet, so I don't think I deserve it yet. Which I greatly prefer controlled access to anyone who shows up gets commit access.
With the switch out there has been discussion in the cvs communitee about commit access, and it probably will get loosened a bit. But the development model already is fairly open.
(which go ahead and mail me if you want more info -- I tend to lose track of
Interesting, in my experience, I have found CVS to be quite stable. Far better than some of the commercial VC's I've used.
:).
The biggest lacking in feature I see (and one of the biggeset improvments bitkeeper has over it) is multiple repositories that can sync themselevs up. Now there do exist add-on packages to CVS that do just that (haven't tried them yet... one of these days)
Personally I found the admin setup and getting a secure version very straightforward and simple (compared to PVCS, MKS SI, and QVCS)
Which you can remove directories from the tree -- not intuitively, but that is why getting directory handling better is on the todo list.
As for branches, I have found cvs's branching support almost too easy to use. I think branches shouldn't be heavily used and with cvs it is too easy to create and use a branch. And so far with the branches I have had to do under cvs the process was easy to do (again compared to any of the other VC's I have used)
So all in all, I would agree cvs has some issues (mine actually aren't any of those listed, has to do with the cvs edit feature). Of course the issues I am concerned about I am writing patcheds to fix
Interesting you mention the BSD licenses in your Free Software mark. RMS wouldn't agree with you on that one. To him BSD isn't free software. Shoot it isn't based on the FSF's definitions. Which is fine by me, becuase I don't consider the GPL free in the freedom sense. But at least after a 3 week barage of e-mails with RMS, I finally got him to admit I was right on the points I was complaining about in the GPL. (Basically the GPL doesn't share with other projects, so GPL'd aplication has to be pure GPL). But as a friend of mine mentioned, no biggie, the GPL is so vague that once it gets put in court it will get declared void anyway...
BZZZZT
Actually the LGPL does (there is a clause in the LGPL that says it can be converted to the GPL)
Which is my point, since the combined work is under the GPL, then all items in the distribution fall under the GPL.
Which is why unless a license allows a change to the GPL like the LGPL does, you can't use it with the GPL.
From the GPL part 2: "...distribution of the whole must be on the terms of this License..."
And from my conversations with RMS, he agrees, but still thinks there is such a thing as GPL-compatible (although he has yet to explain how if the former is true, the later can be)
yes, you can release under multiples licenses.
BUT, the proplem comes in on a long term maintained project. You would have to get the permission of all copyright holders to move from GPL back to LGPL.
It gets worse. When you distribute a GPL'd application (App) linked with a LGPL'd lib (Lib), Lib is distributed under the GPL (GPL does not allow being distributed with anything but GPL, and LGPL converts automatically to GPL). So If I make a mod to the Lib code included in the whole distribution those mods are under the GPL and can't be legally resubitted to the LGPL body (unless the author of the mod does it themselves).
(from Part 2 of the GPL)
So you now have a code branch. In reality most people just violate the licenses left and right. Basically the GPL is so strict that it doesn't work well in reality. Which is why a lot ofg projects use a GPL with exceptions (wxWindows, sane, the linux kernel, etc...).
cool thing is expections to the GPL make the project no longer GPL (part 8 specified the only allowed exception to the GPL). so technically any "GPL" project with an exception can't legally use pure GPL code...
gotta love it... so much for the FSF's philspohy page talking about sharing code and building on ideas.
Actually I understand the GPL quite well. More than a lot of folks. I have poured over the license heavily looking at exactly what it allows and doesn't allow. My concern is that I truely beleive most people who release things under the GPL don't fully understand the restrictions they are locking their code into.
The problem I have is mentioned in the my reply to my reply above. My gripe really doesn't come with the GPL at an application level. It has to do with the library level. You can't use any non GPL libraries in a GPL application (if anyone can point out how I'm wrong I would love to hear it).
Most people don't seem to be able to grasp the difference. I think most of my annoyance is that the FSF tries to take the high ground touting freedom. (eh, who doesn't like freedom). The problem is the GPL doesn't protect freedom at all. at least not the freedom of a programmer.
Case in point:
Say I release something under the GPL. I later get patches that I merge in. Then on down the road I want to use a artistic or Berkeley library from the code. I can't. If I hadn't gotten patches I could re-release it under a more free license that allows me to use open source libraries. But since other's work are now a part of it, I would have to get their permission to interact with open source projects.
That is fine. I just wish people were up front about it. Also GPL programs should then be fixed to not use any non GPL'd code. I can't think of a single GPL'd program on my machine that wouldn't violate this. They alll link in glibc which is LGPL'd not GPL'd.
Bottom line: What I am saying is no library is GPL compatible. If there is way to make a license GPL compatible, where is that specified in the GPL???
Sounds find to me. But the GPL is not means to that end. The GPL is promoting companies not to open up their code.
And yes, I did mean that statement. The transition to open code is going to be a gradual one. The first step I see is making the libraries open.
Unfortunatly with the GPL it is all or nothing.
I can't making an open lib for use in the both GPL'd and non GPL'd apps period end of story.
That sucks. Under clause 2 of the GPL (since it is so broke it doesn't say clause 2 refers only to source code definitions) anything linked with GPL based code has to be GPL. whoops...
Of course that implies I have freedom. I don't. I write software, and I can't write a GPL application or even help on the development of one.
Why?
Well short answer: the GPL is an absorbing badly written license
longer answer: I can use all Open Source libraries except GPL ones together is a open true freedom environment. I have the freedom to use the libraries to get the job done. In a GPL application I can only use GPL libraries. Under clause 2 of the GPLv2. ANY, and I mean ANY thing that gets distribution with the GPL'd code (which means part of the same executable binary MUST be covered under the GPL. Item two of the GPL may supposed to say it applies to source code, but it doesn't. So every GPL application out there that links with glibc is violating license terms.
I have been in recent discussions with both ESR and RMS on this subject. RMS has gotten back to me yet with my assertion that the GPL violates point 9 of the OSD due to this fact.
Which pardon me for sounding upset at this, but I am. I like the idea of open source code. One of my mainstays is windows development. and not having code available to fix trivial one-liners in the OS frustrates me. But finding these types of things in the GPL that make it so my hands are tied as a programmer frustrates me even more. I think a lot of people out there think the GPL is a code thing, but haven't actually gone through the process of looking at the thing and seeing the evil that it is.
People seem amazed that there are so many licenses coming out. Well I know why. It isn't becuase companies are greedy (well some are), any IP lawyer who looks at the GPL gets scared to death. Basically any code that comes near the GPL has to become GPL itself. That may be a good thing for RMS who wants all code to be GPL, but it isn't practicle in todays world.
I am actually making my own library license.
Why? I want two things from a library:
1) changes to the library itself I want open and available
2) I want programmers to be able to use it freely (and I'm talking real freedom here, not "gnu freedom")
for 1) GPL/LGP/artisitc/etc do wonders
for 2) GPL no go, and LGPL won't fly either as it's C++ temwplate code so we go past the 10 line limit on functions... oops.
enough rant... time to go back to working on a truely freedom paced software project
Yup. Sean I lean your direction. Considering the GPL is 6 pages, you would think it would at least be clear. The Berkeley license has like 3 real clauses (or 2 if you have the non advert one).
GPL is actually more hooking than most others. Pretty much anything that touches GPL becomes GPL. Which makes sense. It seems it least that RMS wants to have every line of code on the planet available under the GPL.
The GPL is actually fairly entangling (which is why I won't use it, it binds my hands as a programmer... so much for freedom)