
Carmack rewriting Doom 3 source code to dodge legal issues - chaosmachine
http://www.vg247.com/2011/11/17/carmack-rewriting-doom-3-source-code-to-askew-legal-issues/#
======
culturestate
A bit of a sensational headline. According to Carmack himself, "the workaround
added four lines of code and changed two." The validity of that or any
software patent notwithstanding, he's not exactly rewriting the engine.

Source:
[https://twitter.com/#!/ID_AA_Carmack/status/1371892125197926...](https://twitter.com/#!/ID_AA_Carmack/status/137189212519792640)

~~~
MatthewPhillips
So this patent covers an implement of Foo that is 6 lines of code? How is that
possible?

~~~
grannyg00se
I'm sure six lines of Carmack code can contain a solution that is novel,
useful, and non-obvious.

~~~
greyfade
It's neither novel nor non-obvious. It's a minor variation on a well-known and
oft-used algorithm. Carmack himself said as much when he started talking about
the algorithm.

~~~
grannyg00se
And that's where I have a problem with software patents in particular. I'm not
in the camps that believe nothing should be patentable, or that some ideas
should be patentable - but not software. I'm okay with software patents as a
concept (for now). However, with software patents it seems there is a higher
than average likelihood that an obvious and trivial patent will be granted.
You'll have patents for things like: "a method to confirm a user action
whereby a dialog window is presented to the user with several buttons
including but not limited to Yes and No." This is just an example but I've
seen similar patents granted.

~~~
greyfade
There is also an non-insignificant number of patents that expressly cover an
algorithm that would have been found in most computer science textbooks -
_verbatim_ \- since the '70s. One notable example is the Quicksort algorithm
(US 5,175,857). Another is arithmetic coding (known since at least 1976),
which has been patented no less than _31 times._

If basic information theory can be patented, there's a problem.

------
feral
People are talking here about the evil of patents - I remember the original
deal causing similar controversy.

Some of Carmacks comments at the time seemed to say that Creative were using
their patent to strong arm him into adding support for their hardware into
Doom3.

There was also a lot of discussion about whether the patent was reasonable at
the time, including, as stated on Slashdot, a claim that Sim Dietrich from
Nvidia had demo'd the technique publicly, months before the patent was filed.

Some interesting comments here:
[http://games.slashdot.org/story/04/07/28/1529222/creative-
pr...](http://games.slashdot.org/story/04/07/28/1529222/creative-pressures-id-
software-with-patents)

In particular, the comment by 'Dan East' in 2004 wondering if it'll affect the
ability of iD to release source, is pretty prophetic!

~~~
krig
It's especially outrageous since Carmack came up with the technique
independently of Creative. If it doesn't show that this is a fundamentally
trivial patent that should be thrown out, when pretty much the second person
to even look at using depth shadows in performance-critical code independently
"invents" the technique, I don't know what it would take.

~~~
ordinary
Let's not forget that this is Carmack we're talking about. The fact that one
of the best 3D graphics programmers in the industry has invented something
independently does not tell us much. This thing happens in science all the
time and not seldomly for things that are far from trivial.

Software patents _are_ ridiculous, but not because (or only if) they're
trivial.

~~~
krig
Triviality is supposed to be a test case for the validity of a patent. I think
you can make a reasonable argument that if the first few users of a technology
all independently invent a technique, that technique should be considered
trivial in the context of that technology.

I don't think it's necessary to deify Carmack, either. He is an extraordinary
programmer, but he is not super-human.

------
6ren
The technique in question
<http://en.wikipedia.org/wiki/Shadow_volume#Depth_fail>

The patent
[http://www.google.com/patents/about?id=Om0LAAAAEBAJ&dq=6...](http://www.google.com/patents/about?id=Om0LAAAAEBAJ&dq=6384822)

------
mambodog
Creative agreed to license the use of the "depth fail" technique to id,
requiring in return that they implement support for Creative's EAX tech[1].
Perhaps Zenimax legal is not confident in that agreement extending to open
source.

[1] <http://arstechnica.com/old/content/2004/07/4048.ars>

------
ypcx
It should not be possible to patent an idea, since most great inventions
throughout the history were discovered by two or more unconnected people in
parallel. You probably know that yourself, you run to google to check if the
domain for your next great thing is still free, only to find someone is
already working on your idea.

~~~
anamax
> It should not be possible to patent an idea

Ideas are the only thing that can be patented....

~~~
cubicle67
in the hardware world, it's the opposite - you patent an implementation. I'd
be able to patent a specific design of a mouse trap, but not the general idea
of one

~~~
SamReidHughes
No, actually, you patent the general idea of one.

More specifically not the general idea of trapping mice, but the general idea
of a hinge and a spring, or the use of cheese on a trigger, or whatever, as
general as you can get it.

~~~
vidarh
The point is you patent a specific method of trapping mice, that can be
embodied in a device.

Your hypothetical patent would for example not cover a mousetrap that uses a
box with the cheese at the bottom and a rod over it that the mouse will fall
off if it goes out to try to stretch for the cheese, unless that is explicitly
covered in separate claims. So it does not cover the general idea of a
mousetrap but of the specific method of catching mice with a spring loaded
trap.

(the method I described above works, very well, assuming the sides are
slippery/smooth enough for the mouse to be unable to climb them) - my dad
tried catching a mouse alive when I was a kid to show me; he tried 4-5 times,
and it caught a mouse each time, but all of them were dead when we found them
- we never figured out if it was from the very limited fall or from the shock
or what it was).

~~~
HeyLaughingBoy
Similar concept that I used with a SimonDelivers box to catch field mice: put
bait in bottom of box. place stick against box so it forms a ramp for mouse to
walk up.

Mouse walks up stick, sees/smells bait and jumps into box to eat it. Box is
too high (about 14" tall) for mouse to jump back out. No, I did not patent
this mousetrap!

I tossed the mice to my chickens. The ones that got away were lucky; the
rest... well let's just say my chickens lay some mighty tasty eggs :-)

------
1010011010
Software patents are monopolies on ideas, which is a stupid idea.

~~~
grannyg00se
All patents are monopolies on ideas. How is a software patent any different?

~~~
burgerbrain
Software _is_ math, and until a few years ago, math was generally held to be
unpatentable.

~~~
fragsworth
Every idea is math, even ideas for physical devices, as long as it is well-
defined. If it's not well-defined, then it's ambiguous, and probably shouldn't
be patented.

~~~
burgerbrain
Physical devices can be _modeled_ with math, they are not however
_mathematics_ itself.

"Programming languages" are in reality nothing more than fancy mathematical
notations. Conversion to more traditional notations, such as lambda calculus,
is so trivial that any computer science undergrad can do it.

To put it bluntly, algorithms are no less math than the Pythagorean Theorem.

~~~
Dn_Ab
I would suggest a clearer example to be long division or euclid's method. Or
that software is like stating the Pythagorean theorem and then proving it
constructively. This way the process of what goes on when writing code is
better captured in how it relates to math.

~~~
burgerbrain
Great point, thanks.

------
Rodrigo_Thauby
Maybe he should be using his time to fix RAGE instead...

~~~
greyfade
It's not his fault AMD/ATi is incapable of releasing a working OpenGL ICD.

------
CamperBob
Not clear what legal issues surround the release of patented (and licensed)
source code. The whole idea behind a patent is to reveal the details of a
technique to the public.

~~~
Jach
> The whole idea behind a patent is to reveal the details of a technique to
> the public.

No it's not. That may have once been the ideal but has never been the case.

~~~
burgerbrain
It was in fact the _idea_ , but never has effectively been the _reality_.

