Tugger the SLUGger!SLUG Mailing List Archives

[Fwd: Intellectual property for newbie programmers (was Re: [Fwd: Re: [SLUG] Novell and Microsoft])]



Thanks Adam .... really!

It did clarify a few issues for me


Regards
Phill O'Flynn


--------------------------------- Original Message
---------------------------------
Subject: Intellectual property for newbie
programmers (was Re: [Fwd: Re: [SLUG] Novell and Microsoft])
From:   
"Adam Kennedy" <adam@xxxxxxxxxxx>
Date:    Tue, November 7,
2006 6:20 pm
To:      "Phill O'Flynn"
<phill@xxxxxxxxxxxxxxx>
Cc:      slug@xxxxxxxxxxx
------------------------------------------------------------------------------------

Phill O'Flynn wrote:
 >
 > As a budding software developer,
I find this copyright and 
intellectual property
 > topic increasingly
tragic. Where does it end? Who doesn't copy ideas? 
Didn't
 > 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.

1. Copyright.

- 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.

2.
Trademark

- 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.

3. Patents

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 
work_.

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 
players.

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 
talk to.

Anyways, I hope that at least clarifies some basics about the whole 
intellectual property situation.

Adam K