People claim LGPL as a one of the highlights of GPL but even RMS want's to get rid of it.
Not 'even RMS', but 'only RMS' (and a minority of free software developers).At least, this is my feeling as external observer.
By sure, OSS world is much more fragmented in its ethical/political/cultural positions than what seems reading FSF stuff. Linus, for one, openly disagrees with RMS about free software being an ethical issue (while still releasing his software as GPL with some exceptions for binary modules).
And I think not even RMS is agains what you called 'commercialism'. It _is_ against closed surce software in any form, and since he considers this an etchical issue, it puts it over any commercial issue (because moral >> business).
Suppose that a company distributes a largely popular closed source application for Linux, and it makes uses of some LGPL library.
Then the authors decide to make a new issue of ythe library, but change the licence to GPL only.
This may be of some inconvinience, but nothing serious IMO:
If the application is popular enough, most
of the distribution will choose to keep both the old version of the library and the new one (it has been done in the past).
Even if the old library is replaced by the new one in the platform standard, the company can still distribute its apps _and_ the old libary in the same tarball, writing a simple wrapper shell which add a directory for 'private'.so;
The company could choose to fork the library, as long as it stays LGPL. If they do a good job, even open source developers may decide to join the fork. Other companies making use of the same library will surely do it.
the author will be bashed by the users of the application (who care not of GPL/LGPL issues).
IMVHO (since I'm not an author of free software), regardless from what RMS and FSF says, many authors LGPL their libraries because they want to gain user base, and because in case of libraries they consider linking as 'standard use' and not as 'derived work'.
IIRC, RMS already called once for converting LGPL software to GPL (when Linux was much hyped), but not even the GNOME developers did that (though they debated it).
Who would buy it if it was only a compile away?
You could hask Red Hat about that... sure, it is hard, but can be done (probably not on a M$oft scale, though).
And _software_ companies can still release proprietary software for LGPLed platforms (and 99% of libraries of any Linux distro are LGPLed). I.e. M$oft could release Office for Linux : it will sell easily, as long as is better than competitors
(open source and not). But this would mean that they would have to play fair, and they are not used to it.
Finally, even though _software_ companies might not like GPL, many other kind of company, i.e. the great majority of the business world, are surely glad of all the gratis and free goodies in the OSS world, ad whish more!
No, not of Linux eating its market share... if ever, this will not happen soon.
But maybe B.G. and M$oft managers may be scared of the fact that OSS is eating their _mind_ share: a growing number of programmers (especially young ones) are starting to use some free OS as their development platform ( being both cheaper and more open ). B.G and M$oft are afraid maybe that some of them comes out with the A Brillant Idea(TM), and release his software under GPL, meaning that :
it cannot be bought
it cannot be killed commercially (it will survive as far as some server will host it)
it cannot be 'embraced and extended' in an
M$oft-only product.
If this will happen, they could only try to start from scratch and produce something better. While they could succeed, this is _lots_ more expensive and less secure than the other alternatives (they tried it with M$oft Net agains the Internet, and failed).
Therefore, here they are, prying the division in the OSS world among pro-GPLers and anti-GPLers,
trying to convince tomorrow-maybe-software-geniuses not to release their software under GPL.
Having had more than my share of speed tickets (all for going a 5-10 MPH over the limit),
I'm starting to desire a little box in my car which reads for me all the speed limits (e.g. receiving radiowaves on a a special frequency ) and flashes or beeps or something when I don't respect them (I swear, most of thime I don't _see_ them).
But the installation/dependencies issues are usually covered by distributions. Or, when they fail or are late, by eager users whith enough tecnical skills to build rpm (or deb). Or, most recently, by some service-oriented company built around some piece of free software.
This is a good thing,IMO, so developers are more free to write good software. The only thing they should care for is that they should stick with stable versions of used library/packages as much as possible, so avoiding to create troubles for the integrators.
While I like Python very much, I wonder if it could be too easy for a beginner. Starting with Python or a similar language could make for an hard transition to more conventional and less dynamic languages, which require type casting, variable declaration etc... [and they will be needed for anything requiring good performances]
I guess id depends on what you want to teach. If you want to teach algorithms, or give a programming tool for non-programmers, Python is fine. If you want to teach OOP programming, maybe is better start with Java
And if you want to teach how computer works, nothing beats C, the portable assembler.
hat about Ruby? I don't know Python, but Ruby is pretty easy to learn, and you can do lots of things with it. It also has an interactive mode, so you can see the results of an expression immediately.
Python is easier than ruby for newbies because it misses some of the 'perlism' of ruby (like $_ and company, assignment returning values, etc... ).
Also, the iterator syntax strikes me as particularly unintuitive, if powerful.
It is not M$oft assault. Is that there is less money around in OS companies and/or groups. Now, instead of competing for supremacy, they are cooperating for survival.
Which shows that there is a silver lining in black clouds, afterall.
Wy do not use an embeddable very high level language (perl(?), python, ruby)?.
A word filter is something that will need to evolve fast (to keep with changes in the original
format) and will need to be very hackable (to cover the special cases you did not think of). It does not need to be super-fast. All this calls for a VHLL, IMO.
where can you get an rtf->Word filter (probably to Word 97?)?
Why should you need it? Word has always been able to read an RTF. So if you write a document, export in RTF and send it to a Word-addicted coworker, he should be able to import it into Word with no problems.
The problem is that then he will want to send you back the modified document. If he used full-power Word (e.g. using the change bars to hilight the changes), even if he is willing to convert the doc back in RTF, lots of fomatting info will be lost.
On a medium term, we are probably going toward a 'mixed' situation, with open-source (GPLed and not) and proprietary software competing for users and market.
The existance of a free (and cheap) alternative will force proprietary software vendors to produce better products, and to improve them often. On the other hand, proprietary software vendors may use open source as a gigantic R&D department (they connot exclusively sell GPL software, but they can reuse ideas, they can link their product with LGPL(and similarly licensed) software ; and they can use free OSes as platform for products aimed to vertical markets.
Maybe a trifle on the optimistic side, but we are already seing some of it.
I'd say that GPL is more friendly for small locally based group of consultants than to big companies that attempt to establish a world-wide
business based on GPL software and related services.
Many of the advantages of big companies (bigger investment capability, exclusive knowledge of their product) are not exploitable with GPL software. And big companies have large overhead costs, which allows small companies to be able to offer similar products for less money.
Big companies still have some advantages: organization, more resources and overall a well-known brand name. They can do well if they avoid to put too much investment in software development ( because they won't be able to recover it in the usual way, i.e. by exclusively selling the resulting product ).
None of this apply to companies wich just _uses_ software (90% of business world), or that sell software as a non-strategic side-product (like some big hardware-selling name is attempting to do ). For them, GPL and open source in general is a big plus.
For the love of God, people - quit frickin' cutting our own throats. Mozilla is our ONLY major OpenSource platform for web applications.
While I whish Mozilla the best luck, I believe that open-source has many components which could be assembled to offer net applications (think for instance of a server distributing glade-like files to a browser which uses it to
built interface and send back events... ).
IMO, tt's just that many developers don't believe much in.NET-like solutions and/or don't find it interesting enough.
You can do a test yourself, if you area a bit of C programmer (or know one ):
Write a dummy app that does noting, but happen to be linked with all the mozilla libraries (or the eaviest one). The only goal of this app is to stay alive.
Write a script in/etc/init.d that starts the app at boottime, also changing the proper/etc/rc?.d directories
Done. Now you are sure that Mozilla.so are permanently loaded ( though they might be swapped out, according how many memory you have/use ). Your boot time will be longer, but Mozilla start-up time should shorten.
Mind you, this is not a real solution, because you end-up using more memoy and having some resources locked by the dummy program. But it will show how much good (if any) this could do.
A possible solution could be to design a browser as a two-layers program, with a back-end started at boot and a front-end started by the user. This would also make easier to realize multiple front-end for the same engine, in a quite old-fashioned-unix-way (though embedded components are the fashion today).
A definitively tougher proposition would be write a kernel module which acts like a HTTP proxy: living in kernel space, I'd imagine it would make data transfer faster. But then, this is not - probably - the real Mozilla bottleneck : just look at how fast is lynx, with no help from the kernel. But then, this is open source: you have what you think is a good idea, you just go and try it (openly discuss it may save you some effort, however).
To the 'design purists' out there, I can only remember that Linux ALREADY has implemented specific help for serving static HTML pages: why should not do it for getting them? If a clean interface can be conceived, I mean. And if it is a real advantage for browsers (which I think is not).
Nobody let (or did not let) RMS do it. He just got invited.And of course he will go and speak his mind. This is called free of speech.
OTOH, its years that ESR is going everywhere to advocate the more pragmatic side of free software (i.e. open source), that you seem to prefere. So, don't worry too much.
...
I mean, after all, this guy needs his speech encoded in OGG cause he hates MP3s...
This is called 'vote with your (equivalent) dollar'. Just like not buying a product which has been produced with child labor in some third world country.It shows that life can go on also without close software and software patents. Because RMS do believes that it can. The rest of the world (including you and me) is free of not believing it. This is called free of thought.
The problem could be that the term 'Operating System' used in OpenMotif licence is too generic, and has not precise legal meaning. So, when you use an OS emulator running on top of another OS, where are the boundaries?
Logically, when the licence terms are unclear, it should default to standard copyright, and licencee should ask copyright owners for clarification. But logic and law divorced many years ago, for the happyness of most lawyers (which I am not).
oh, the gpl doesn't restrict your use? so, when you copy a binary to a friend, do you provide her with the source code, too?
You mean that if she asked you for the source, you would not give it to her ? If so, you're right. With GPL, you are not allowed to do that.
There are many magazines that distribute CD's with unmodified GLP software in binary-only format, and none of them (ASAIK) has received nasty letters from FSF Lawyers.
Uhm. AFAIK, GLP only restricts _redistribution_, not _usage_. Moreover, it is only concerned with _derivative work_, it does not care about the OS.
I never read RMS objecting to the porting of GNU tools on Windows, for instance, while the proposal debated here would make it illegal.
Libraries are a bit tricker, because 'using a library' and 'making a derivative work of the library' are almost the same thing. IMHO LGPL is a good thing, but then I never wrote a single line of free software.
Re:How to screw the GPL and get away with it
on
GPL FAQ
·
· Score: 2
Not really...
--- ACT ONE ---
Here I am, a developer with free time to devote to open source. Ah, what a good DLL you have, and it is GPL, too. Pity the GUI is crap. Let's start a new open-source project for a better GUI, to use your nice DLL.
--- ACT TWO ---
Uhm, if would be nice to change this interface in the DLL, to make it work better with my open-source GUI. What ? This would screw the integration with your own proprietary GUI? Well, that is your problem, not mine. Others open source developers are with me, this is the RIGHT THING(tm) to do. Ah, your company developers will not support this? OK, let's fork the project right now. Good bye!
The only way to control where a piece of free software goes is by owning the majority of the work gone into it. But then, this is just fair.
Now, I'm certainly no expert on any of the varieties listed, but perhaps there is one that allows the author to collect on profitable usage and distribution of his/her work.
Not sure about that. Looking at the Open Souce Definition you find just at the beginning:
1. Free Redistribution
The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.
Rationale: By constraining the license to require free redistribution, we eliminate the temptation to throw way many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect.
So, with _any_ OSI-approved licence, you can certainly sell your program, but you cannot prevent others from doing the same, and you cannot
force these others to give you part of what they get by selling your software.
You can _ask_ for money, however, hoping that enough distributors and final users consider honorable and/or convenient feed you with some cash so that you can continue work on your program.
The various 'foundations' behind large software suites/programs get money in this way, I think. OTOH Eazel just tried it at the end of its history and failed (possibly because they did not have an established product yet?).
Right:) I mean, I did (first thing checked when I found the memory leak ). I also tried with XtVaSetArgs, which accepts plain strings instead of XmString (I guess it converts them internally?).
At the end I solved using textfields, with resources set si that they looked almost like labels.
I am aware of one leak which is real, though.
Try putting up a window full of XmLabels and update them every second. You will see your memory sleep through your fingers for no apparent reason.
I discovered this bug severals years ago, and it is still there...
Having done my fair share of Motif GUI programming, I am glad that now there are mature alternatives. Though Motif had some good ideas, in its time. One such idea (IMO) was the User Interface Language, which describes your GUI elements much like Glade files do. And, like libglade, it allows programmers to generate the GUI in a single stroke.
For me, this is much better than GUI code generators, which tend to generate rather messy and unmaintenable code, especially for non-OO languages.
Not 'even RMS', but 'only RMS' (and a minority of free software developers).At least, this is my feeling as external observer.
By sure, OSS world is much more fragmented in its ethical/political/cultural positions than what seems reading FSF stuff. Linus, for one, openly disagrees with RMS about free software being an ethical issue (while still releasing his software as GPL with some exceptions for binary modules).
And I think not even RMS is agains what you called 'commercialism'. It _is_ against closed surce software in any form, and since he considers this an etchical issue, it puts it over any commercial issue (because moral >> business).
Then the authors decide to make a new issue of ythe library, but change the licence to GPL only.
This may be of some inconvinience, but nothing serious IMO:
IMVHO (since I'm not an author of free software), regardless from what RMS and FSF says, many authors LGPL their libraries because they want to gain user base, and because in case of libraries they consider linking as 'standard use' and not as 'derived work'.
IIRC, RMS already called once for converting LGPL software to GPL (when Linux was much hyped), but not even the GNOME developers did that (though they debated it).
You could hask Red Hat about that
And _software_ companies can still release proprietary software for LGPLed platforms (and 99% of libraries of any Linux distro are LGPLed). I.e. M$oft could release Office for Linux : it will sell easily, as long as is better than competitors (open source and not). But this would mean that they would have to play fair, and they are not used to it.
Finally, even though _software_ companies might not like GPL, many other kind of company, i.e. the great majority of the business world, are surely glad of all the gratis and free goodies in the OSS world, ad whish more!
But maybe B.G. and M$oft managers may be scared of the fact that OSS is eating their _mind_ share: a growing number of programmers (especially young ones) are starting to use some free OS as their development platform ( being both cheaper and more open ). B.G and M$oft are afraid maybe that some of them comes out with the A Brillant Idea(TM), and release his software under GPL, meaning that :
If this will happen, they could only try to start from scratch and produce something better. While they could succeed, this is _lots_ more expensive and less secure than the other alternatives (they tried it with M$oft Net agains the Internet, and failed).
Therefore, here they are, prying the division in the OSS world among pro-GPLers and anti-GPLers, trying to convince tomorrow-maybe-software-geniuses not to release their software under GPL.
Having had more than my share of speed tickets (all for going a 5-10 MPH over the limit), I'm starting to desire a little box in my car which reads for me all the speed limits (e.g. receiving radiowaves on a a special frequency ) and flashes or beeps or something when I don't respect them (I swear, most of thime I don't _see_ them).
This is a good thing,IMO, so developers are more free to write good software. The only thing they should care for is that they should stick with stable versions of used library/packages as much as possible, so avoiding to create troubles for the integrators.
I guess id depends on what you want to teach. If you want to teach algorithms, or give a programming tool for non-programmers, Python is fine. If you want to teach OOP programming, maybe is better start with Java
And if you want to teach how computer works, nothing beats C, the portable assembler.
IMO: :-)
Python = Ruby - some_neat_feature - 0.2*perl
Python is easier than ruby for newbies because it misses some of the 'perlism' of ruby (like $_ and company, assignment returning values, etc... ). Also, the iterator syntax strikes me as particularly unintuitive, if powerful.
But you can write portalble GUI with Python also using QT or wxWindows bindings.And GTK+ is coming to Windows, too.
Unlike Java designers, GvR & Co did not make the mistake of binding the language to a single toolkit (or two).
Which shows that there is a silver lining in black clouds, afterall.
Wy do not use an embeddable very high level language (perl(?), python, ruby)?. A word filter is something that will need to evolve fast (to keep with changes in the original format) and will need to be very hackable (to cover the special cases you did not think of). It does not need to be super-fast. All this calls for a VHLL, IMO.
Why should you need it? Word has always been able to read an RTF. So if you write a document, export in RTF and send it to a Word-addicted coworker, he should be able to import it into Word with no problems.
The problem is that then he will want to send you back the modified document. If he used full-power Word (e.g. using the change bars to hilight the changes), even if he is willing to convert the doc back in RTF, lots of fomatting info will be lost.
Actually, I never seen so much pro-M$oft comments in a single story. Therefore I propose that Gill Bates icon in ./ be replaced by a Saint Bill one ;)
The existance of a free (and cheap) alternative will force proprietary software vendors to produce better products, and to improve them often. On the other hand, proprietary software vendors may use open source as a gigantic R&D department (they connot exclusively sell GPL software, but they can reuse ideas, they can link their product with LGPL(and similarly licensed) software ; and they can use free OSes as platform for products aimed to vertical markets.
Maybe a trifle on the optimistic side, but we are already seing some of it.
Many of the advantages of big companies (bigger investment capability, exclusive knowledge of their product) are not exploitable with GPL software. And big companies have large overhead costs, which allows small companies to be able to offer similar products for less money.
Big companies still have some advantages: organization, more resources and overall a well-known brand name. They can do well if they avoid to put too much investment in software development ( because they won't be able to recover it in the usual way, i.e. by exclusively selling the resulting product ).
None of this apply to companies wich just _uses_ software (90% of business world), or that sell software as a non-strategic side-product (like some big hardware-selling name is attempting to do ). For them, GPL and open source in general is a big plus.
While I whish Mozilla the best luck, I believe that open-source has many components which could be assembled to offer net applications (think for instance of a server distributing glade-like files to a browser which uses it to built interface and send back events ... ). .NET-like solutions and/or don't find it interesting enough.
IMO, tt's just that many developers don't believe much in
- Write a dummy app that does noting, but happen to be linked with all the mozilla libraries (or the eaviest one). The only goal of this app is to stay alive.
- Write a script in
/etc/init.d that starts the app at boottime, also changing the proper /etc/rc?.d directories
- Done. Now you are sure that Mozilla
.so are permanently loaded ( though they might be swapped out, according how many memory you have/use ). Your boot time will be longer, but Mozilla start-up time should shorten.
Mind you, this is not a real solution, because you end-up using more memoy and having some resources locked by the dummy program. But it will show how much good (if any) this could do.A possible solution could be to design a browser as a two-layers program, with a back-end started at boot and a front-end started by the user. This would also make easier to realize multiple front-end for the same engine, in a quite old-fashioned-unix-way (though embedded components are the fashion today).
A definitively tougher proposition would be write a kernel module which acts like a HTTP proxy: living in kernel space, I'd imagine it would make data transfer faster. But then, this is not - probably - the real Mozilla bottleneck : just look at how fast is lynx, with no help from the kernel. But then, this is open source: you have what you think is a good idea, you just go and try it (openly discuss it may save you some effort, however).
To the 'design purists' out there, I can only remember that Linux ALREADY has implemented specific help for serving static HTML pages: why should not do it for getting them? If a clean interface can be conceived, I mean. And if it is a real advantage for browsers (which I think is not).
Nobody let (or did not let) RMS do it. He just got invited.And of course he will go and speak his mind. This is called free of speech.
OTOH, its years that ESR is going everywhere to advocate the more pragmatic side of free software (i.e. open source), that you seem to prefere. So, don't worry too much.
I mean, after all, this guy needs his speech encoded in OGG cause he hates MP3s...
This is called 'vote with your (equivalent) dollar'. Just like not buying a product which has been produced with child labor in some third world country.It shows that life can go on also without close software and software patents. Because RMS do believes that it can. The rest of the world (including you and me) is free of not believing it. This is called free of thought.
Logically, when the licence terms are unclear, it should default to standard copyright, and licencee should ask copyright owners for clarification. But logic and law divorced many years ago, for the happyness of most lawyers (which I am not).
You mean that if she asked you for the source, you would not give it to her ? If so, you're right. With GPL, you are not allowed to do that.
There are many magazines that distribute CD's with unmodified GLP software in binary-only format, and none of them (ASAIK) has received nasty letters from FSF Lawyers.
I never read RMS objecting to the porting of GNU tools on Windows, for instance, while the proposal debated here would make it illegal.
Libraries are a bit tricker, because 'using a library' and 'making a derivative work of the library' are almost the same thing. IMHO LGPL is a good thing, but then I never wrote a single line of free software.
--- ACT ONE ---
Here I am, a developer with free time to devote to open source. Ah, what a good DLL you have, and it is GPL, too. Pity the GUI is crap. Let's start a new open-source project for a better GUI, to use your nice DLL.
--- ACT TWO ---
Uhm, if would be nice to change this interface in the DLL, to make it work better with my open-source GUI. What ? This would screw the integration with your own proprietary GUI? Well, that is your problem, not mine. Others open source developers are with me, this is the RIGHT THING(tm) to do. Ah, your company developers will not support this? OK, let's fork the project right now. Good bye!
The only way to control where a piece of free software goes is by owning the majority of the work gone into it. But then, this is just fair.
Not sure about that. Looking at the Open Souce Definition you find just at the beginning:
So, with _any_ OSI-approved licence, you can certainly sell your program, but you cannot prevent others from doing the same, and you cannot force these others to give you part of what they get by selling your software.You can _ask_ for money, however, hoping that enough distributors and final users consider honorable and/or convenient feed you with some cash so that you can continue work on your program.
The various 'foundations' behind large software suites/programs get money in this way, I think. OTOH Eazel just tried it at the end of its history and failed (possibly because they did not have an established product yet?).
At the end I solved using textfields, with resources set si that they looked almost like labels.
I discovered this bug severals years ago, and it is still there ...
Having done my fair share of Motif GUI programming, I am glad that now there are mature alternatives. Though Motif had some good ideas, in its time. One such idea (IMO) was the User Interface Language, which describes your GUI elements much like Glade files do. And, like libglade, it allows programmers to generate the GUI in a single stroke.
For me, this is much better than GUI code generators, which tend to generate rather messy and unmaintenable code, especially for non-OO languages.