Spammers' proffered "remove" mechanisms are mostly used only to confirm that an address is in use and send it more spam--complaints to the upstream ISP are far more likely to stop spam. Besides, there is no "proper" way to require me to remove my address from a list I never consented to add it to.
Working for assholes can affect which rights you're willing to exercise, but not which rights you have. Even if my boss loses his mind and tells me to move our whole frontend from Perl to C#, Perl is still free software.
BeOS isn't free because there are people who have and use it who can't have it modified to suit.
When software is free, programmers can compete for
contract work to make improvements particular users (or industries)
find valuable. Even if you can't maintain code yourself,
hiring someone to do it for you (rather than wait and hope that the one
and only vendor deigns to notice you) is a perfectly good
contribution, and it's in everyone's interest (except for the shoddiest of vendors)
that should be feasible.
If we sign a work for hire contract, I write the code
but the copyright belongs to you, so whether the code will be free or not (or both, if you dual license) is legally your decision to make.
If every Microsoft customer got source and a free software
license to modify and redistribute it, Microsoft would be a free software company--regardless of whether or not any of their
customers exercise their right to redistribute their code. But they don't.
Are we really worried? I thought programmers were elitists who all think we're above average. I know I'm not worried about getting the bar up out of the basement, because there will be less crappy code I have to interop with.
As for the quality of the industry's output, I've always liked the comparison with civil engineering. Nobody puts tarps over bridges to keep anyone else from learning how they're designed.
Your patent doesn't make you immune from other patents on similar inventions. The tactic I was referring to is holding some overbroad patent, so that if anyone is going to sue you for infringing theirs, you can threaten to sue them for infringing yours--usually the result then is to swap licenses (relatively little money changes hands).
How do you figure that? From what he said, their customers have the right to modify or release the source themselves or in collaboration with other customers or third parties (including other consultants they may hire; they aren't even locked in to his firm). That's what free software is about--the people who have the software are free to work on it as they choose.
Anyone can modify the product. You don't have to somehow get your vendor's attention or pay monopoly prices for the time of their developers. Hire a third party and get whatever enhancements you can imagine.
RMS would refuse to be a supplier to a car company that forbids third-party garages from maintaining any car they make. Drivers would never put up with being treated the way software users routinely are.
Most professionals don't sell canned software by the copy. Most software is custom-developed inhouse or by consultants--what you see in CompUSA is just the tip of the iceberg.
Firefighters hose down your house to keep your
problem from destroying the neighborhood. What's
left of your house isn't their problem, and they
certainly aren't going to come back and help you
repair it.
If someone comes after you for infringing their blatantly invalid patent, it's allegedly easier to fend them off and stay out of court if you also have some blatantly invalid patents they could hardly avoid infringing. Sometimes you just swap licenses to each other's portfolios, which has the added effect of preventing new competitors from entering the market.
That's only true if the company's business model consists of selling copies of the software they wrote with their own money. If they were paid to write it, or are in any business other than selling software, they could easily come out ahead on having access to others' contributions.
The GPL is a piece of information that requests being copied, which makes it a virus in the broadest sense. But the GPL negotiates advantages with rational users who have the final say, while DNA and machine code viruses imitate benign information and then spread uncontrolled until their environment is destroyed, so it doesn't deserve the usual pejorative sense of the word.
If you commissioned software, it must be because being able to use it is worth more money to you than what you'd pay to have it developed. Why does it matter who else has it? The more people who have it, the more likely you are to be able to use improvements they've made--which you didn't have to pay anything for.
If I can't "give away copies", do you intend to tell me how many machines I can run the software on or how many people can use it? Can I hire other people to improve it for me? Can I collaborate with other owners to improve it, and can we sell the improvements?
There are generic (non-Apple) PPC boards that meet the current standard (whatever replaced CHRP). Most are intended for embedded work, and they're almost impossible to find unless you resort to mail order. ISTR hearing that someone got Darwin running on one, but MacOS is probably never going to happen.
Yes! Joel Spolsky identified this tactic as "cover fire":
Think of the history of data access strategies to come out of Microsoft. ODBC, RDO, DAO, ADO, OLEDB, now ADO.NET - All New! Are these technological imperatives? The result of an incompetent design group that needs to reinvent data access every goddamn year? (That's probably it, actually.) But the end result is just cover fire. The competition has no choice but to spend all their time porting and keeping up, time that they can't spend writing new features.
This is a small excerpt of Fire and Motion, IMHO the best article he's written yet (which is really saying something).
I suppose distinguishing false from 0 is a Java-ism I picked up. Writing if(integer) feels a little misleading to me now, though if(pointer) doesn't. Putting the constant on the left (so you don't use = instead of ==) is just one of those style guide recommendations that looks good in job interviews.
If the array you want to return is fixed size, put it in a struct. When C was defined, arrays were automatically passed and returned by pointer like FORTRAN (copying an array at every function call seemed extravagant in the 1970s) but you couldn't pass or return a struct at all, just a pointer to one. When they got around to allowing structs to be passed and returned, they specified that it was by value--every member gets copied, even arrays.
If the array is variable size, C can't tell you how large a memory allocation is, so you're going to have to roll your own representation (element count or end pointer) or migrate to C++ and use std::vector<>.
Spammers' proffered "remove" mechanisms are mostly used only to confirm that an address is in use and send it more spam--complaints to the upstream ISP are far more likely to stop spam. Besides, there is no "proper" way to require me to remove my address from a list I never consented to add it to.
Apparently you don't know anyone outside the United States. Nor anyone with a dedicated circuit who pays by the bit.
Working for assholes can affect which rights you're willing to exercise, but not which rights you have. Even if my boss loses his mind and tells me to move our whole frontend from Perl to C#, Perl is still free software.
BeOS isn't free because there are people who have and use it who can't have it modified to suit.
When software is free, programmers can compete for contract work to make improvements particular users (or industries) find valuable. Even if you can't maintain code yourself, hiring someone to do it for you (rather than wait and hope that the one and only vendor deigns to notice you) is a perfectly good contribution, and it's in everyone's interest (except for the shoddiest of vendors) that should be feasible.
If we sign a work for hire contract, I write the code but the copyright belongs to you, so whether the code will be free or not (or both, if you dual license) is legally your decision to make.
If every Microsoft customer got source and a free software license to modify and redistribute it, Microsoft would be a free software company--regardless of whether or not any of their customers exercise their right to redistribute their code. But they don't.
By that argument, we should hire vandals to destroy public property, because the repair bills will stimulate the economy.
Are we really worried? I thought programmers were elitists who all think we're above average. I know I'm not worried about getting the bar up out of the basement, because there will be less crappy code I have to interop with.
As for the quality of the industry's output, I've always liked the comparison with civil engineering. Nobody puts tarps over bridges to keep anyone else from learning how they're designed.
Your patent doesn't make you immune from other patents on similar inventions. The tactic I was referring to is holding some overbroad patent, so that if anyone is going to sue you for infringing theirs, you can threaten to sue them for infringing yours--usually the result then is to swap licenses (relatively little money changes hands).
How do you figure that? From what he said, their customers have the right to modify or release the source themselves or in collaboration with other customers or third parties (including other consultants they may hire; they aren't even locked in to his firm). That's what free software is about--the people who have the software are free to work on it as they choose.
Anyone can modify the product. You don't have to somehow get your vendor's attention or pay monopoly prices for the time of their developers. Hire a third party and get whatever enhancements you can imagine.
RMS would refuse to be a supplier to a car company that forbids third-party garages from maintaining any car they make. Drivers would never put up with being treated the way software users routinely are.
Most professionals don't sell canned software by the copy. Most software is custom-developed inhouse or by consultants--what you see in CompUSA is just the tip of the iceberg.
Firefighters hose down your house to keep your problem from destroying the neighborhood. What's left of your house isn't their problem, and they certainly aren't going to come back and help you repair it.
If someone comes after you for infringing their blatantly invalid patent,
it's allegedly easier to fend them off and stay out of court
if you also have some blatantly invalid patents they could hardly avoid infringing.
Sometimes you just swap licenses to each other's portfolios,
which has the added effect of preventing new competitors from entering the market.
That's only true if the company's business model consists of selling copies of the software they wrote with their own money. If they were paid to write it, or are in any business other than selling software, they could easily come out ahead on having access to others' contributions.
The GPL is a piece of information that requests being copied, which makes it a virus in the broadest sense. But the GPL negotiates advantages with rational users who have the final say, while DNA and machine code viruses imitate benign information and then spread uncontrolled until their environment is destroyed, so it doesn't deserve the usual pejorative sense of the word.
If you commissioned software, it must be because being able to use it is worth more money to you than what you'd pay to have it developed. Why does it matter who else has it? The more people who have it, the more likely you are to be able to use improvements they've made--which you didn't have to pay anything for.
If I can't "give away copies", do you intend to tell me how many machines I can run the software on or how many people can use it? Can I hire other people to improve it for me? Can I collaborate with other owners to improve it, and can we sell the improvements?
There are generic (non-Apple) PPC boards that meet the current standard (whatever replaced CHRP). Most are intended for embedded work, and they're almost impossible to find unless you resort to mail order. ISTR hearing that someone got Darwin running on one, but MacOS is probably never going to happen.
Yes! Joel Spolsky identified this tactic as "cover fire":
This is a small excerpt of Fire and Motion, IMHO the best article he's written yet (which is really saying something).
If you turn on "active desktop", iexplore renders your desktop instead of explorer.
With the "pair programming" the XP guys recommend, this isn't much of a problem.
I suppose distinguishing false from 0 is a Java-ism I picked up. Writing if(integer) feels a little misleading to me now, though if(pointer) doesn't. Putting the constant on the left (so you don't use = instead of ==) is just one of those style guide recommendations that looks good in job interviews.
If the array you want to return is fixed size, put it in a struct. When C was defined, arrays were automatically passed and returned by pointer like FORTRAN (copying an array at every function call seemed extravagant in the 1970s) but you couldn't pass or return a struct at all, just a pointer to one. When they got around to allowing structs to be passed and returned, they specified that it was by value--every member gets copied, even arrays.
If the array is variable size, C can't tell you how large a memory allocation is, so you're going to have to roll your own representation (element count or end pointer) or migrate to C++ and use std::vector<>.