Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

My GPL code has been... patented!

ttsiod (881575) writes | more than 3 years ago

4

ttsiod (881575) writes "Back in 2001, I coded HeapCheck, a GPL library for Windows (inspired by ElectricFence) that detected invalid read/write accesses on any heap allocations at runtime — thus greatly helping my debugging sessions. I published it on my site, and got a few users who were kind enough to thank me — a Serbian programmer even sent me 250$ as a thank you (I still have his mails). After a few years, Microsoft included very similar technology in the operating system itself, calling it PageHeap. I had more or less forgotten these stuff, since for the last 7 years I've been coding for UNIX/Linux, where valgrind superseeded Efence/dmalloc/etc. Imagine my surprise, when yesterday, Googling for references to my site, I found out that the technology I implemented, of runtime detection of invalid heap accesses, has been patented in the States, and to add insult to injury, even mentions my site (via a non-working link to an old version of my page) in the patent references! After the necessary "WTFs" and "bloody hells" I thought this merrits (a) a Slashdotting, and (b) a set of honest questions: what should I do about this? I am not an American citizen, but the "inventors" of this technology (see their names in the top of the patent) have apparently succeeded in passing this ludicrous patent in the States. If my code doesn't count as prior art, Bruce Perens's Efence (which I clearly state my code was inspired from) is at least 12 years prior! Suggestions/cursing patent trolls most welcome."

cancel ×

4 comments

Sorry! There are no comments related to the filter you selected.

Publish a "prior art" page (1)

Spazmania (174582) | more than 3 years ago | (#34329870)

Best bet is to publish a web page detailing your claim of prior art along with an offer to testify (at their expense) on behalf of anyone challenging the patent. Then make sure it gets in to Google's cache so that when anyone googles the patent number and "prior art" your web page comes up.

If your claim of prior art is sound you'll completely defang them, causing them to have wasted their money on the expensive patent process without wasting any of your own. By deliberately not asking the patent office to rule, you leave them in a state of uncertainty where a court will have to rule. Patent holders really don't like uncertainty. The patent system was supposed to prevent that. When it breaks down (as it appears to have in this case) they get nervous.

So, there's no new art? (2, Interesting)

Linux_ho (205887) | more than 3 years ago | (#34330518)

The fact that you were quoted as prior art suggests the patent only applies to improvements they made over the method you used in your code. Are there significant improvements described in the patent over what your code does?

Re:So, there's no new art? (1)

Haedrian (1676506) | more than 3 years ago | (#34330576)

(Honest Question) -

Would something like that be considered 'derived works' or not? Or do you actually need to have copied code for it to be that way?

Re:So, there's no new art? (1)

ttsiod (881575) | more than 3 years ago | (#34330894)

The method, invented by either Bruce Perens or someone before him - we are into 1993 or earlier here - and implemented by me (in 2001, under Win32) and I am sure by many others, is about placing an inaccessible page (4K) right before or after your just malloc-ed region. This way, if the user code reads or writes beyond the boundary, an exception is raised. In the case of my implementation, the "before" or "after" was a compile-time switch. In the case of Bruce Peren's Efence, it was an environment variable. Having that in mind, can anyone see any improvements in any of the claims?
Check for New Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>