Tugger the SLUGger!SLUG Mailing List Archives

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

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