|
Amun-Ra wrote:
In it's basic sense the GPL actually does two things:
* Grants certain rights
* Removes certain rights
Amun-Ra wrote:
[...]it's "free with restrictions". The distinction may be subtle but it's there.
Please elaborate.
Amun-Ra wrote:
[...]re-release the code under a different licence. Certainly there is no provision to revoke the GPL once applied. Once it's out it out and there's no going back.
I never said that you can revoke the GPL for code which is released under the GPL. However, you can release *your* code under a different license, even if it was GPL-ed, it is still your code. This also means that you can't release code to which various people have contributed, under a different license.
Amun-Ra wrote:
A licence that gives me the freedom to choose how I wish to use the product. A good example is LibCurl[...]
There is almost no difference between the LGPL and the CURL-license (http://curl.haxx.se/docs/copyright.html[^] for those who are interested), except for the length.
- Daniël Pelsmaeker
Waarom je eigen woorden gebruiken als iemand anders het al beter heeft gezegd?
|
|
|
|
|
Daniël Pelsmaeker wrote:
Please elaborate.
GPL code is free of monetary cost but there are restrictions on what you can do with it.
Daniël Pelsmaeker wrote:
There is almost no difference between the LGPL and the CURL-license (http://curl.haxx.se/docs/copyright.html[^] for those who are interested), except for the length.
LGPL has more restrictions.
|
|
|
|
|
If your boss agrees upon applying the GPL or LGPL to the company's program(s), then the company will have the following benefits:
Faster software development
Faster bug fixes
More people will use the program
The wishes of the general community will be automatically integrated in the program
Less development costs
Better beta testing
Are there references to back this up? I think I'll take these one at a time:
Faster software development:
Unproven. Given a co-ordinated team of developers working on a well-defined/organised software project (regardless of Open-Sourceness), development time is insignificant compared to the other stages of a project (design, requirements analysis, testing/QA). Therefore improving development time doesn't mean much in the overall lifespan of a software project. In addition, having arbitrary third parties providing code patches for new features takes additional time to verify, audit, integrate and test.
Faster bug fixes:
Wishful thinking at best, and if an Open Source project has a faster turnaround time on bugs over an equivalent Closed Source project, it's more likely due to a lack of regression testing, and a glut of personal heroics than any intrinsic superiority.
Given a suitably detailed bug report, bug fixes take the same amount of time to reproduce, fix, and regression test, regardless of the Open-Sourceness of the software. Third party patches still need to be tested, reviewed and integrated, and may actually take longer if the patch is complicated, due to the time needed to take to understand the patch and insure that it does not contain anything undesirable.
More people will use the program:
Because they can see the source? Most people don't know what to look at in source code anyway, so why would open sourcing it give you additional users?
The only reason I can think of is if someone will only use open source software, on either ideological (eg, Richard Stallman?) or security auditing (eg, military/government) grounds. In the case of the latter, arrangements can be made to audit the code without needing to give it to all and sundry at the same time.
The wishes of the general community will be automatically integrated in the program:
How? Because if the general community of an application consists of normal people, most normal people can't code, design or test software, and so has no effect. This only really applies to developers tools, where the general community for the tool knows about software development in the first place. And automatically?!?!? You can't even claim that the feedback is better, because a well organised Closed Source team can encourage good feedback too.
Less development costs:
Only in monetary terms, and only because some people contribute in their spare time. If people weren't willing to contribute in their spare time, Open-Sourced software would cost just as much to develop as Closed-Source software. In terms of time and energy, the costs are equivalent.
Better beta testing:
Again, unlikely. Good coders are rarely good testers (cf Peopleware article on Software Testers), and finding good testers is hard. In any case, the Open-Sourceness of the software does not have any bearing on the quality of the testing, and a well organised, directed beta test does not require it.
----
Does this mean I am against Open Sourcing software? No, I just accept that it isn't the Silver Bullet of Software Development so many are claiming, or that it is fairy dust to magically make my software better.
There are times where Open Source is obviously preferable - for reference implementations of software standards as one key example (so developers can improve on the reference implementation for their own applications), and as a way of examining government software under freedom of information acts as another (as having this sort of transparency is important in a democratic nation).
--
Ian Darling
"The moral of the story is that with a contrived example, you can prove anything." - Joel Spolsky
|
|
|
|
|
I've answered these questions already. (Almost twice).
Please see below.
Albert Einstein and Marilyn Monroe were seated together at a table. "Hey Albert," said Marilyn. "Imagine if we had a baby and it had my looks and your brains-it could do anything it wanted." "Yes, my dear," replied Einstein. "But what if it has my looks and your brains?"
|
|
|
|
|
Several of these comments seem to miss the point. Explaining why
open source is faster or better by saying it is only because of "a glut
of personal heroics" or "because some people contribute" doesn't negate
those benefits. Those benefits do exist.
More specific examples of "missing the point" include:
Faster software development
The point is that if you use open source software in your project, that
part of the project is done already. It is infinitely fast
because it was literally "done yesterday."
Faster bug fixes
How fast does a closed-source vendor fix the bugs you ask them to
fix? (Not very fast, in my experience.) With open source, you
can fix the bugs. If they are priorities for you, you get them fixed
fast. The key is motivation. Microsoft, for example, does not appear
highly motivated to fix bugs (again, in my experience), except
(selected) security-related bugs, so they get fixed slowly (if at all).
There's nothing you can do about such a bug; very few customers have
enough clout to influence Microsoft's priorities. If an equivalent bug
exists in Linux, Apache, Mozilla, or another open source project, you
can fix it yourself, or hire someone to fix it. If the bug is important
to you, you make it your priority to fix it.
Less development costs
You are merely saying that all programming takes the same amount of
effort. While that is true, the point is that some of that effort has
been done for you by others at no cost to you or
your organization. So the overall cost to you or your
organization can be lower.
|
|
|
|
|
jkbull wrote:
Several of these comments seem to miss the point. Explaining why open source is faster or better by saying it is only because of "a glut of personal heroics" or "because some people contribute" doesn't negate those benefits. Those benefits do exist.
I don't want my bug fixes/software to be the result of personal heroics. I want my bug fixes (and software generally) to undergo serious regression testing and QA. I see little evidence of that in the general world of development, regardless of the Open-Sourceness of the software. However, the company I depend on most of my software for (Microsoft) have significant regression tests performed that I have some confidence in (eg, what's shown in http://www.winsupersite.com/reviews/winserver2k3_gold3.asp[^]). (Incidentally, this is most likely the reason MS take longer over some of their patches - because they've had a high level of testing done on them which has taken a considerable amount of time.)
I'm suspicious of patches for large-scale software that turn up within 24 hours of the bug being found, because it suggests that it hasn't been tested for long enough, or on enough configurations. This is of less concern with simpler software.
AFAICT, Linux doesn't seem to even have widescale automated regression tests. The only automated testing I have found for it at all isn't run by the core kernel team (Linus and co), and that doesn't have full coverage of the kernel anyway (http://ltp.sourceforge.net/coverage/coverage.php[^])
In fact, the only open source project I have encountered that has a substantial level of testing, reviewing, and QA, with documented and available regression tests, is the Boost Library. I don't see any test suites shipping with most Open Source projects, so I'll assume that there aren't any (or is the alternative premise that they are kept secret from everyone a more palatable suggestions? ).
As for fixing and submitting bugs to be included in the main source tree, I had this little gem about getting patches into Linux pointed out to me:
http://www.tux.org/lkml/#s4[^]
"Also note that Linus drops patches silently when he is too busy (which is always , so if you don't see it in the next kernel patch, send it again. Oh, and don't expect him to tell you he's applied the patch, either."
I'm meant to rely on Open Source software with people managing things like that! And Linux is the "poster child" of Open Source! So great, I can fix my own bugs, but getting that fix to everyone else? An unreliable process at best it seems, and certainly not a fast one. (I do note that the BSDs seem to have a much better approach to bug fixes, testing and releasing new versions)
At least with Microsoft's stuff I know if a bug is actually fixed or not (because there'll be a KB article on it), and I can take any relevant action I need to mitigate anything left over that will cause a problem.
When you get down to it, my main problem with (most) Open Source projects is that I do not feel I can trust them, precisely because of the issues outlined above.
(There's also a point to be made about being backwards and forwards compatible across versions, something Open-Source has historically been less than great at, but I'll leave that for now )
--
Ian Darling
"The moral of the story is that with a contrived example, you can prove anything." - Joel Spolsky
|
|
|
|
|
Ian Darling wrote:
So great, I can fix my own bugs, but getting that fix to everyone else? An unreliable process at best it seems, and certainly not a fast one.
Sites like www.sourceforge.net specialize in open source projects. The problem you describe is indeed an actual problem, but thanks to Bug Trackers, and places where you can post patches and feature requests, these are integrated quickly. And when a patch is integrated, it is common that the one who did it replies with a message that is has been patched (or that a specific feature is present since version x.xx).
Ian Darling wrote:
In fact, the only open source project I have encountered that has a substantial level of testing, reviewing, and QA, with documented and available regression tests, is the Boost Library. I don't see any test suites shipping with most Open Source projects, so I'll assume that there aren't any (or is the alternative premise that they are kept secret from everyone a more palatable suggestions? ).
The Mono project also has very extended tests shipped with the source. These are then ran using NUnit.
Albert Einstein and Marilyn Monroe were seated together at a table. "Hey Albert," said Marilyn. "Imagine if we had a baby and it had my looks and your brains-it could do anything it wanted." "Yes, my dear," replied Einstein. "But what if it has my looks and your brains?"
|
|
|
|
|
Daniël Pelsmaeker wrote:
The Mono project also has very extended tests shipped with the source. These are then ran using NUnit.
So we know already about 2 OS projects which come with tests. What about the other 70,861 which are hosted at SourceForge? Or, how many of the 8652 projects there which claim to be "Production/Stable" have regression tests? Or any functionality tests at all.
Finally moved to Brazil
|
|
|
|
|
At first, Mono is the only one from which I know that they use tests. Other open source programs do very well, and you'll have to admit that. And as long as you don't know how many project uses tests, you can't make any conclusions yet.
They function, and that's where it's all about.
Albert Einstein and Marilyn Monroe were seated together at a table. "Hey Albert," said Marilyn. "Imagine if we had a baby and it had my looks and your brains-it could do anything it wanted." "Yes, my dear," replied Einstein. "But what if it has my looks and your brains?"
|
|
|
|
|
Daniël Pelsmaeker wrote:
Other open source programs do very well, and you'll have to admit that.
So far my experiences with various "open source libraries" where dissastrous. Im programming since almost 17 years now, and I've tried to use many promissing libraries (promissing here is not meant as pro-missing). With the exception of so few that I can count them on one hand (well, half hand), I ended up with writting my own solution because the open source code was just not commercial enough. It seems that Microsoft stole the "It Just Works (IJW)" from the open source community: the software just works (within its very limited boundaries) but dont expect it to work always and correctly.
The very same is true with 95% of the source code available here at codeproject. IJW, but dont try to use it in a commercial application.
If you take the view that its all about knowledge and not about the code, yes, its great. Its even phantastic. Nowhere else you'll find such a diversity of ideas and solutions. But - just understand the idea and dont use the code if you are going to write a commercial application.
Open Source should be understood only as a knowledge pool, not as a source code repository.
Finally moved to Brazil
|
|
|
|
|
SaurweinAndreas wrote:
So we know already about 2 OS projects which come with tests. What about the other 70,861 which are hosted at SourceForge? Or, how many of the 8652 projects there which claim to be "Production/Stable" have regression tests? Or any functionality tests at all.
At least, with Open Source you know how rigorous it was. With closed source, by definition, you have no access to the test suite, if any.
Trying to make bits uncopyable is like trying to make water not wet.
-- Bruce Schneier
By the way, dog_spawn isn't a nickname - it is my name with an underscore instead of a space. -- dog_spawn
|
|
|
|
|
Daniel Turini wrote:
With closed source, by definition, you have no access to the test suite, if any.
True, but at least I know where to complain when it breaks. And most companies are greatful to hear about bugs instead of users silently swallowing them.
With Open Source you can fix the bug yourself, yeah great. Did anybody every try to figure out how to fix a bug in the Linux kernel? How many weeks does it take an average programmer to even find the location of the bug, not to talk about fixing it.
Finally moved to Brazil
|
|
|
|
|
SaurweinAndreas wrote:
True, but at least I know where to complain when it breaks. And most companies are greatful to hear about bugs instead of users silently swallowing them.
I don't report bugs to Microsoft. It would take me all day! I just silently try again, or work around it.
SaurweinAndreas wrote:
With Open Source you can fix the bug yourself, yeah great. Did anybody every try to figure out how to fix a bug in the Linux kernel? How many weeks does it take an average programmer to even find the location of the bug, not to talk about fixing it.
And if you are such a person who can't fix that bug, then report it. From those hundreds op used who can fix the bug, one must be able to do it. By tomorrow, a new fresh fixed CVS version awaits you...
Albert Einstein and Marilyn Monroe were seated together at a table. "Hey Albert," said Marilyn. "Imagine if we had a baby and it had my looks and your brains-it could do anything it wanted." "Yes, my dear," replied Einstein. "But what if it has my looks and your brains?"
|
|
|
|
|
Daniël Pelsmaeker wrote:
I don't report bugs to Microsoft. It would take me all day! I just silently try again, or work around it.
Well then, probably you are too Open Minded and should just stay using Open Source and help making it better, spreading the word to the unbelievers.
Me, for one, will just stop arguing here. Open Source does not work for me and my company. If it works for you, great. Go ahead.
Have a nice day. I will right now update my commercial software which was just released with some neat bugfixes.
Finally moved to Brazil
|
|
|
|
|
Daniël Pelsmaeker wrote:
I don't report bugs to Microsoft. It would take me all day! I just silently try again, or work around it.
In my experience i would have to disagree with your statement. On two seperate occasions that i have felt the need to report problems to microsoft i have found that they quickly get escalated to the right people working on the code.
The first incident involved a memory leak with IE4. Once i had written some code to show the problem i very quickly had emails from the development team with hotfixes for now and release schedules as to when the fixed version would be available.
More recently i was working with the XmlTextReader class in .NET and found a problem using it with a NetworkStream. Again, once i had written some code to demonstrate the problem and contacted microsoft it took just 4 internal emails to get to the actual developer responsible for the XmlTextReader class and they responded again with the offer of a patch for now and the assurance that it will be fixed in SP1 of the 1.1 framework.
In the meantime i'd also found that there was a workaround to the issue anyway which involved manually setting up a bunch of encoding stuff for the class to use.
I found both of these instances amazing, there are plenty of small companies where you struggle to get answers so to have this experience with a company of microsofts size is outstanding.
|
|
|
|
|
Daniël Pelsmaeker wrote:
I don't report bugs to Microsoft. It would take me all day! I just silently try again, or work around it
People seem to relate closed source software with microsoft...
Why?
theJazzyBrain
Excelence is not an act, but a habit Aristotle
|
|
|
|
|
Sites like www.sourceforge.net specialize in open source projects. The problem you describe is indeed an actual problem, but thanks to Bug Trackers, and places where you can post patches and feature requests, these are integrated quickly.
As someone who has extensively used SF for the past three years working on OS projects, I can absolutely say that this is utter bunk.
The trackers in and of themselves do NOT make one iota of difference in terms of regression testing, or any sort of testing for that matter, which was the primary point of his question.
And even if a patch is submitted it is still up to the maintainer(s) of the project to apply them and test them.
Furthermore, the SF bug tracker is fairly weak. Now I understand it's a free service, so I am happy enough to have anything, but it still is not very sophisticated and there exists (AFAIK) no way to customize it in any signifgant way.
In other words, the presence of these helps towards the collection of various data (bugs, patches), but it in no way indicates the speed at which they'll be applied.
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
|
|
|
|
|
I think that anyone who comes here and uses libraries found on this website (in one way or another) then argues how bad open source software is should shut their hypocritical mouths.
knowledge is power. information feeds knowledge. closed source systems do not allow for the growth and dissemination of in information and knowledge. they do however allow growth of local economies, so closed source programs are usefull too.
what would be attractive about a university if you only paid for the deploma? instead value is created by people knowing things. open source allows for this.
money will always be made by those who know what others do not. but knowledge that isn't shared is usless.
all in all good article.
|
|
|
|
|
The MadHatter wrote:
I think that anyone who comes here and uses libraries found on this website (in one way or another) then argues how bad open source software is should shut their hypocritical mouths.
So did you actually read my entire post? (I'm assuming you're criticising me, if not, then I apologise for misunderstanding you).
I disagreed with the statements that Open Source software development was somehow magically better than Closed Source software, particularly as they were made without reference to any research (or even convincing anecdotal evidence) made on the subject. I also stated that I thought Open Source was preferable in certain places. I will also quite happily use any software that works for my needs, regardless of origin (examples in point being VirtualDub and occasionally Mozilla).
However, that does not mean that I should not make a point where I think Open Source is lacking (something very few people seem to be doing). My main concern and criticism over the seeming lack of regression testing in Open Source software is quite valid, and I would hope that all developers, regardless of what they actually work on, take that to heart.
As for the rest of your post:
The MadHatter wrote:
knowledge is power. information feeds knowledge. closed source systems do not allow for the growth and dissemination of in information and knowledge. they do however allow growth of local economies, so closed source programs are usefull too.
Not having access to say, the source code for Internet Explorer doesn't stop me from being able to write my own Windows-based Web Browser (Opera being the case in point). The W3C specs for HTML, HTTP, etc are available, as is the documentation on the APIs (graphics, UI Toolsets, network), that I'd use to write such a program.
If I were to write a web browser from scratch, I probably wouldn't look at an existing web browser purely because untangling the important information on what the Web Browser is meant to be doing from the source code is more work than reading the HTML/HTTP specs and deciding on the design of browser from that.
Even if I needed to directly duplicate functionality from another (Open Source) web browser, I'd still take the clean room approach (how Compaq got their own BIOS without wholesale copying IBMs back when the first PC clones came out), purely because of the risk of being sued for copyright infringement.
money will always be made by those who know what others do not. but knowledge that isn't shared is usless.
Not to the guy who already knows it (joke)
--
Ian Darling
"The moral of the story is that with a contrived example, you can prove anything." - Joel Spolsky
|
|
|
|
|
yea, my comments weren't directed to you in particular (sorry bout that). I should have started my own thread for my comment but didn't.
it was more a shot at those who cant stand open source, what ever the license, and come here and partake of "open source" anyway
as far as the ie example, this is true. but even ie is built off of mosiac. ms just takes the high road, and buys their source code. open source is for the rest of the world who doesn't want to re-invent the wheel and isn't the most wealthy ententity in the world with billions at their disposal.
as far as re-writing something that already exists, sometimes this is the only way to do something, though from my experience not the most efficient or effective. I mean how far would we be if we had to re-write the STL every time we wanted to use a basic data-structure. I know this isn't exactly the same thing, but if you think of what's already written as a possible tool in the toolbox it makes sense. being able to change that tool on the fly with out building it from scratch (if scratch is a valid starting point), is a powerful thing.
|
|
|
|
|
Do I understand correctly that I can use LGPL in a commercial program without revealing my own source code?
Is there somewhere an overview of all libraries that can be used in a commercial program without revealing my own source code?
|
|
|
|
|
You are almost right. You are then allowed to link to the library from your own non-free program. How about including the source code in your own program? Please read the LGPL license carefully.
Just look for programs (usually libraries) licenses under the LGPL (also known as the Library General Public License), for example on Sourceforge.net.
Albert Einstein and Marilyn Monroe were seated together at a table. "Hey Albert," said Marilyn. "Imagine if we had a baby and it had my looks and your brains-it could do anything it wanted." "Yes, my dear," replied Einstein. "But what if it has my looks and your brains?"
|
|
|
|
|
Just some thoughts,
> Faster software development
Does this mean that I can give my spec to the 'community' and ask them to code "feature x", why would they do it any faster than the guy I'm paying to do it.
> Faster bug fixes
How are the bug fixes faster?
> More people will use the program
But will more people pay for using the program?
> The wishes of the general community will be automatically integrated in the program
How is this a good thing? A product needs a fixed set of aims and goals otherwise it becomes a nightmare to support and maintain. By having extra and probably un-needed functionality added by somebody who thought it was a 'cool' idea is the best way to have a project start slipping.
> Less development costs
Is there any figures to back this up? Surely the extra project management time, code reviewing time for checking for code developed by untrusted sources, extra testing etc add more to the development costs than if it was all done in-house by a team getting paid.
GPL is an interesting idea, one with ideals that are worthy but our current society will never embrace it fully because it impacts on our ability to pay the bills.
Can you name one succesful GPL product that pays the bills, but isn't aimed exclusivly at geeks, developers, or the general internet. Something in the real world that the rest of us can relate too.
Michael
'Logic, my dear Zoe, merely enables one to be wrong with authority.' - The Doctor: The Wheel in Space
|
|
|
|
|
Michael P Butler wrote:
> Faster software development
Does this mean that I can give my spec to the 'community' and ask them to code "feature x", why would they do it any faster than the guy I'm paying to do it.
More people work on it. And more people improve it *in their own way*. I.e. the result will be something that the general community likes (since it is created by them). You can give the idea of "feature x", and may even provinde the implementation. Or find someone else who likes this feature and implements it for the project.
Michael P Butler wrote:
> Faster bug fixes
How are the bug fixes faster?
Because when more people work on and with the program, the chances of noticing a bug increase, and fixing can be done by the person him/her self, or by posting this bug on a forum, and someone else will fix it.
Michael P Butler wrote:
> More people will use the program
But will more people pay for using the program?
Take for example, the Magic Library[^]. This library was Open Source, so it got developed by other people. Now that it has reached a state of completeness, the owner changed the license of their own code, and now you'll have to pay for it. They can improve the program on their very own, but those earlier versions that float around may still be used, improved, and further developed.
Michael P Butler wrote:
> The wishes of the general community will be automatically integrated in the program
How is this a good thing? A product needs a fixed set of aims and goals otherwise it becomes a nightmare to support and maintain. By having extra and probably un-needed functionality added by somebody who thought it was a 'cool' idea is the best way to have a project start slipping.
I never said that my letting other people develop a program, that they will code features that have nothing to do with the program. I just mean that when 'the general community' works on a program, it's improvements are good improvements in the eyes of those people, which mean that they like it. If they do, more (non developers) will propeably also like it.
For example, NSIS[^]. This is an open source installer for the Windows platform. People suggested a look like the new Windows XP look. The program didn't support that before, and now it does. People are happy.
People asked for multilingual support, which wasn't integrated by default. After many versions, multilingual support has been archieved (Right-to-left text, uncommon character sets, translated versions). The general community is happy...
Michael P Butler wrote:
> Less development costs
Is there any figures to back this up? Surely the extra project management time, code reviewing time for checking for code developed by untrusted sources, extra testing etc add more to the development costs than if it was all done in-house by a team getting paid.
I mentioned this from a hobby-developer point of view. I don't have to pay anything to let my programs develop. Neighter does Mono, the open source .NET framework replacement library, in contrast to Microsoft, who put millions of dollars into .NET.
Michael P Butler wrote:
Can you name one succesful GPL product that pays the bills, but isn't aimed exclusivly at geeks, developers, or the general internet. Something in the real world that the rest of us can relate too.
If I understand you correctly, you want me to name an open source product from which the developers (or the owning company) will earn money, right?
SuSE linux (not downloadable, still open source, you'll have to buy it). They provide the full source code with the distribution, unde rthe GPL licese which says that you may distribute and modify the source code. But people don't. SuSE develops it much better and all bugs and fixes, patches and feature requests are send to SuSE. So they earn money.
Same for that Magic library I mentioned.
Albert Einstein and Marilyn Monroe were seated together at a table. "Hey Albert," said Marilyn. "Imagine if we had a baby and it had my looks and your brains-it could do anything it wanted." "Yes, my dear," replied Einstein. "But what if it has my looks and your brains?"
|
|
|
|
|
Haha SuSE?! You're telling me that's aimed at the general public? No sir, you're dreaming.
I view open source as a way to spread and share knowledge, but it'd be suicidal to use an open source business model. Prove me wrong.
The graveyards are filled with indispensible men.
|
|
|
|
|