- To: Phill O'Flynn <phill@xxxxxxxxxxxxxxx>
- Subject: Intellectual property for newbie programmers (was Re: [Fwd: Re: [SLUG] Novell and Microsoft])
- From: Adam Kennedy <adam@xxxxxxxxxxx>
- Date: Tue, 07 Nov 2006 18:20:47 +1100
- Cc: slug@xxxxxxxxxxx
- User-agent: Thunderbird 126.96.36.199 (Windows/20060909)
Phill O'Flynn wrote:
> As a budding software developer, I find this copyright and
> topic increasingly tragic. Where does it end? Who doesn't copy ideas?
> Microsoft develop Windows 3.1 by borrowing the GUI idea from Apple ( and
> subsequently squashing them). Now they want to protect themselves
from what they did
> to others. Or perhaps they want to continue to squash any other
alternative to them
> ( or better put "Resistance is futile"
Let me clarify things a little for those getting started in the
programming side of things.
There's three different things you need to care about, and they have
completely different impacts. Since there seems to be a little confusion
in your comments, let me clarify in simple points. These are
extraordinarily hand-waving definitions, but hold true for the most part.
- Don't cut and paste other people's code without asking them.
- Don't use someone else's module/API unless you agree to their terms.
Plagiarism fits mostly into here, but in the academic and media sense,
it's altered somewhat to...
- Cut and paste all you like but ALWAYS say where you got it from.
Open Source (in the extreme broadest sense of the term) is a massive
positive for you here, because it lets YOU make a legally enforcable
deal where you let other people copy your work, as long as you can copy
theirs back again if you want to.
Free Software extends this idea further, but in the most general
share-and-share-alike sense it's similar.
- Don't steal someone's logo in a similar industry.
- Don't use someone else's name in a similar industry.
- Don't "sort of" do either of the above in a similar industry.
Basically, don't present yourself to the public in a way that the
average layman might get confused and think you are them. And even more
strictly, don't ever make money off the similarity.
Trademarks are why the Microsoft Pillow Factory on the Princes Highway
in Tempe (no really, this actually exists) is completely safe, while a
notional "Open Source Microsoftware" company or something that used the
"four colours" windows pattern could be in trouble.
While copyright and trademarks are quite clear and work pretty well,
patents are another story.
A patent, fundamentally, goes like this.
- You have an awesome idea that isn't obvious to anyone else.
Imagine you are the first person to invent gold plating.
- You can make a huge of money from it, as long as nobody else knows.
Imagine nobody has seen gold cups and forks except for solid gold ones
owned by kings and great figures, and now YOU can eat like a king for
only $199.90 per fork!
- So you go to huge lengths to keep it secret.
You never write down the chemical solution formula, and you guard
carefully the machines in sealed buildings and you make the machines so
only you can operate them.
- You die, and because of the extreme secrecy, your idea is lost to society.
This, obviously, is very very bad. Forget gold plating, imagine losing
the ability to make penicilin.
So society does a deal with the devil.
- Society lets you exploit your idea in the open, but do so AS IF you
had kept it secret.
So society enforces your "secrecy" (exclusivity/monopoly) and lets you
make even MORE money quickly, because you don't have to go to the
efforts to keep it secret.
- In exchange, Society forces you to tell it in extreme detail EXACTLY
what your great idea is. Now when you die (or rather, in 20 years), all
of society benefits and your idea isn't lost.
In fact, in any patent application the standard of documentation to this
day remains something similar to,
"Enough detail so anyone else in your industry could copy your idea"
And over the course of history, this deal with the devil has worked
pretty well. Much of the key technical and applied scientific knowledge
of mankind is stored in the vast patent office collections, and mankind
advances on a (relatively short) 20 year delay without losing the ideas.
So patents themselves are not inherently bad, even in it. That's a
somewhat unpopular idea in this community, but I note that Donald Knuth
holds the same position.
The problem for us is that the standard of judging what is "obvious" and
what isn't in IT is dangerously bad, and when you look at the speed of
the IT industry compared to, say, chemistry or engineering or biology,
20 years is just a ridiculously long period of time.
In this sense, software patents are completely broken.
So what should you do then.
If you are wanting to be a programmer, you should learn how copyright
law works (to the extent you reasonably can without becoming a lawyer),
and learn how trademarks work (to the extent you reasonably can without
becoming a lawyer) and more or less ignore how patents are SUPPOSED to
work, leave campaigning for change to people like Pia and SLUG and OSIA
and Linux Australia for the moment, and learn how patents _practically
How patents work in real life goes a bit more like this...
1. Patents are like guns... that are REALLY easy to buy.
Imagine if guns were as easy to get as alchohol. You shouldn't be able
to buy until you are 18, but we all know ways around that.
2. As a programmer, you don't want to get shot.
Or more specifically of course, get a lawsuit slapped on you.
3. However, guns are risky to shoot, and noisy.
Companies aren't stupid. In general, they aren't going to spend the
money on a lawsuit unless there's something in it from them.
If you are making a lot of money, you might be a target.
If you are leeching a shitload of their sales with a free clone, you
might be a target.
Simply the fact you aren't in the USA makes you a significantly smaller
target. Not safe of course, but less obvious. So on that note NEVER
release software from US-based servers or make money on US servers or in
any way operate inside US borders if you can avoid it.
In any case, as an ordinary single person open source programmer, unless
you do something VERY high profile like Stallman or Rusty or Tridge and
make yourself a target, you probably won't ever have anything bad happen.
And anyway, if you are releasing your code via something like the CPAN
(which means releasing software in Australia, uploading to Finland,
being permanently archived in various countries, and then being imported
into the US and 70 other countries by mirror networks) even if you are
forced to stop, others would just take over your code (whether you like
it or not) and keep going in another country.
Yes, it's a mess.
But there are three ways to avoid the problems.
1. Theoretically, you should look for all possible guns in advance.
But that's impossible of course.
There are so many guns and they could be so far aware, how could you
possibly ever know if one, or ten, or a hundred, are pointing your way.
You could spend your whole life looking for guns and never do anything.
2. Arm yourself to the teeth.
If you are a startup with a bunch of money, unfortunately you'd probably
be stupid at this point not to get 10 or 20 patents of your own in the
area you specialize in. And just like stocking up with weapons, it's
expensive, ugly, and not particularly noble.
If anyone points a gun at you, there's a good chance you can point one
or more back at them in a Mexican standoff, and then come to sort of of
equitable agreement. But this way sucks and isn't available to small
So that just leaves...
3. Intentionally ignore patents
Patent penalties, certainly in the US, are worse if you know about the
patent in advance. So your only reasonable course of action is to be
completely ignorant of any patents that might exist out there, and just
go about writing the code you want to and solving the problems you want to.
And this, for the most part, tends to work pretty well.
Until you release Samba or something. Then you might need to care a
little. But if you reach THAT point, there's going to be people you can
Anyways, I hope that at least clarifies some basics about the whole
intellectual property situation.