My company won't let me use GPL code because we can't give our product away for free.
You can use GPLd code as much as you want without incurring any obligations. There are no restrictions on use.
You can distribute GPLd code in any manner you like, including selling it.
You can include GPLd code in your own product and sell the results.
What you may not do is distribute (for free or for money) GPLd code under a license apart from the GPL without permission from the copyright holder. That may not work for your company, but the line I quoted is imprecise about your rights and potential obligations.
I could be wrong, but wasn't the copyright violation being made when the code is copied from the GPL code into the local development version of the developer?
Copyright infringement only occurs when someone other than the copyright holder attempts to distribute a copyrighted work without permission of the copyright holder. There's no problem if you 1) hold the copyright or 2) do not distribute the work or 3) distribute the work under the terms of the GPL or 4) make other arrangements with the copyright holder such that you can legally distribute the work.
Working on the code on your own and never distributing it to another person is fine. Checking in GPLd code to a public repository without fulfilling one of #1, #3, or #4 is infringement.
No, it really wasn't. Kathy Sierra is one of the kindest, most decent, and most intelligent people I've ever met. No matter how funny you think your comment was, it was insensitive and rude and trivializes a person I know and respect.
Even if I didn't know her, it would still have been incredibly rude. No one deserves that.
Today, there are clear models of successful authors and successful books. The demographics are a known quantity. The publishing world pretty much knows why most books succeed.
*snicker*
I get the impression you don't work in publishing.
"We don't have time for science projects in state government," he says.
What if Chicago donated the time of all the workers painting "Richard M. Daley, Mayor" on every garbage can in the city? That could free a lot of time.
Microsoft can't just throw away billions of existing documents out there to make a few people happy.
I'm not aware of anyone who holds that position. However, I know plenty of people who think that, if Microsoft really wanted to make an interoperable standard, said standard should include no backwards compatibility messes.
The last time I used Word (perhaps the year 2002), I noticed that it could read and write from and to several different file formats. I assume that a company with as many programmers as Microsoft has--and with the source code to MS Word--could presumably add support for this new standard file format without removing support for old file formats.
Knowing how the user interface and business logic calls other functions and what values are valid means you have a complete set of user requirements on hand.
Why do you need a complete set of user requirements? If you don't know what the function should do right now, how can you possibly write it? Why can you not modify the contract as the requirements become more clear? I assume you can do the same for the code that implements the contracts.
You might as well complain that you can't do automated unit testing, because the tests may have to change during development, or that you can't write code because that code might have to change during development.
The one thing Unit Testing *can't* do is check production code as it's running.
It certainly can, at least with well factored code. Create a delegate object that contains the real object, then override all of the standard methods to run pre- and post-tests, calling the real object's methods in between. If you use a factory to create the objects, you can create the testing delegate once every hundred or thousand requests, or once every hour, or however often you want to run these tests against live request.
You do need to use a test mechanism with separate reporting and analysis, but I use TAP so it's easy.
Some form of inheritance tax is required because not having just encourages hoarding of capital, which is bad for the national economy in the long term.
If only there were some economic incentive to move money out of giant Scrooge McDuck-style vaults of gold coins. Perhaps paying interest or dividends would encourage capital-holders to... we'll call it invest... their money?
Last, and certainly not least for the programmer who would like to try out the author's sample code in their own environment, it is unfortunate and inexplicable as to why the sample code is not offered on the O'Reilly Web site for downloading.
It usually takes a couple of weeks for authors to re-enter society to the extent that they can extract the sample code and massage it into a releasable form. (For me it takes months, but I'm a bad example.) I assume that's what happened here.
Companies that provide new code and patches to the open source community are in no way obligated to provide them.... they can keep the changes to themselves and never release them to the community.
Patches seem a bit different. It's much easier to track upstream if your patches get merged upstream, rather than continually porting patches to a changing upstream. There's that notion of economic utility again.
I have no trouble doing so. That may be my particular position, however. Most likely, any code I contribute will be a small bugfix. It's possible that I might write something more substantial, such as Parrot bindings or improved Perl bindings, but I have no direct commercial interest in such code, and I expect to get other substantial benefits from it.
On any major F/OSS project I expect to sign over some degree of copyright control when I submit a patch. That doesn't bother me.
MySQL is open source, but community development is limited by licensing restrictions.
How?
MySQL uses the GPL to force people to buy proprietary licenses from them (not very Free).
Again, how? I've written a fair amount of code that uses MySQL (and people at MySQL AB use that code occasionally) and I've never had to buy a proprietary license.
You can use GPLd code as much as you want without incurring any obligations. There are no restrictions on use.
You can distribute GPLd code in any manner you like, including selling it.
You can include GPLd code in your own product and sell the results.
What you may not do is distribute (for free or for money) GPLd code under a license apart from the GPL without permission from the copyright holder. That may not work for your company, but the line I quoted is imprecise about your rights and potential obligations.
Copyright infringement only occurs when someone other than the copyright holder attempts to distribute a copyrighted work without permission of the copyright holder. There's no problem if you 1) hold the copyright or 2) do not distribute the work or 3) distribute the work under the terms of the GPL or 4) make other arrangements with the copyright holder such that you can legally distribute the work.
Working on the code on your own and never distributing it to another person is fine. Checking in GPLd code to a public repository without fulfilling one of #1, #3, or #4 is infringement.
Except that that's not true, not one bit./p.
You went to the Midvale School for the Gifted, didn't you?
That's how backwards compatibility has worked on Unix for years. See POSIX, for example.
Don't forget painting your name on all of the trash cans in the city. That still makes me laugh.
First, if this situation causes her to lessen or cease her contribution to the public good, it's a loss.
Second, I consider both her and Bert friends.
Third, allowing abuse and harassment in one case can lead to a general acceptance of such behavior. I'd like it to stop against everyone.
No, it really wasn't. Kathy Sierra is one of the kindest, most decent, and most intelligent people I've ever met. No matter how funny you think your comment was, it was insensitive and rude and trivializes a person I know and respect.
Even if I didn't know her, it would still have been incredibly rude. No one deserves that.
The GP must be a JRPG fan.
*snicker*
I get the impression you don't work in publishing.
Wow, I'd like to see that!
What if Chicago donated the time of all the workers painting "Richard M. Daley, Mayor" on every garbage can in the city? That could free a lot of time.
I'm not aware of anyone who holds that position. However, I know plenty of people who think that, if Microsoft really wanted to make an interoperable standard, said standard should include no backwards compatibility messes.
The last time I used Word (perhaps the year 2002), I noticed that it could read and write from and to several different file formats. I assume that a company with as many programmers as Microsoft has--and with the source code to MS Word--could presumably add support for this new standard file format without removing support for old file formats.
It's as much of a video player as FTP is.
You don't redistribute it.
(I suspect your use of the word inspired confused the other respondent somewhat; it's not clear to me whether you're linking in that case.)
Why do you need a complete set of user requirements? If you don't know what the function should do right now, how can you possibly write it? Why can you not modify the contract as the requirements become more clear? I assume you can do the same for the code that implements the contracts.
You might as well complain that you can't do automated unit testing, because the tests may have to change during development, or that you can't write code because that code might have to change during development.
It certainly can, at least with well factored code. Create a delegate object that contains the real object, then override all of the standard methods to run pre- and post-tests, calling the real object's methods in between. If you use a factory to create the objects, you can create the testing delegate once every hundred or thousand requests, or once every hour, or however often you want to run these tests against live request.
You do need to use a test mechanism with separate reporting and analysis, but I use TAP so it's easy.
If only there were some economic incentive to move money out of giant Scrooge McDuck-style vaults of gold coins. Perhaps paying interest or dividends would encourage capital-holders to ... we'll call it invest... their money?
What's the problem? Anyone can correct him!
Yes; the book preface mentions that. We're working on either hosting the code on our site too or pointing to Paul's page from our catalog page.
It usually takes a couple of weeks for authors to re-enter society to the extent that they can extract the sample code and massage it into a releasable form. (For me it takes months, but I'm a bad example.) I assume that's what happened here.
What exactly were they doing for the past five years then?
Patches seem a bit different. It's much easier to track upstream if your patches get merged upstream, rather than continually porting patches to a changing upstream. There's that notion of economic utility again.
I have no trouble doing so. That may be my particular position, however. Most likely, any code I contribute will be a small bugfix. It's possible that I might write something more substantial, such as Parrot bindings or improved Perl bindings, but I have no direct commercial interest in such code, and I expect to get other substantial benefits from it.
On any major F/OSS project I expect to sign over some degree of copyright control when I submit a patch. That doesn't bother me.
How?
Again, how? I've written a fair amount of code that uses MySQL (and people at MySQL AB use that code occasionally) and I've never had to buy a proprietary license.