Winelib Hobbled by Exception-Handling Patent 409
davidwr writes "UKBuilder.com reports that Borland's structured exception handling (SEH) patent affects Winelib. Winelib allows you to compile Windows-targeted code to run natively on Linux. Because of the patent, gcc does not include support for SEH, which is widely used in the MS-Windows world. There are workarounds, but you won't like them."
Who Next? (Score:5, Interesting)
Who else may have submarine patents might affect the development of Wine?
Re:Who Next? (Score:4, Interesting)
Its great that there are lawyers willing to spend time on OSS projects, but they just dumped a whole pile of hurt on Wine if Borland pursues this.
Re:Who Next? (Score:2)
Best just to keep it to ourselves, I guess.
Re:Who Next? (Score:2)
Re:Who Next? (Score:5, Insightful)
How do you figure? TFA simply says that gcc can't implement the features because Borland has a patent. This means that people wanting to use Winelib must remove the SEH portions of their code in order for it to compile. This is a story about a shortcoming of gcc and Winelib because so many Windows C++ developers use SEH instead of sticking to standard C++. I see no threat of lawsuit from Borland or any potential for it.
Re:Who Next? (Score:2)
Sorry, I'm making a generalization. That's just the first thing I thought of when I read the story the other day.. "Uh oh, here they come".
Non sequitur (Score:4, Informative)
> This is a story about a shortcoming of gcc and Winelib because so many
> Windows C++ developers use SEH instead of sticking to standard C++.
There are a lot of things that standard C++ does not cover:
UI, Device I/O, Threading, Synchronization, Async I/O, Interprocess Communications, Virtual Memory management, Registry access, Networking, etc.
For that, you must use the underlying OS features (either directly or via a library that abstracts it).
SEH is one such element. It allows you to catch "system" exceptions such as access violations. It is an OS feature that standard C++ does not address.
Quoting form the MSDN:
[The] difference is that the structured exception handling model is referred to as "asynchronous" in that exceptions occur secondary to the normal flow of control. The C++ exception handling mechanism is fully "synchronous," which means that exceptions occur only when they are thrown.
Re:Non sequitur (Score:4, Insightful)
Don't knock the idea of registries just because Microsoft can't implement them properly.
Re:Who Next? (Score:5, Insightful)
By suing the Wine folks, they'd shoot themselves in the foot.
Re:Who Next? (Score:2)
Thats a good point. So they could either do the right thing and donate a license, or use their patent to gain some control over Wine.
Past tense (Score:3, Interesting)
Reason #372 to never trust anything important to a proprietary platform.
Re:Who Next? (Score:3, Insightful)
Good point, Borland is Wine friendly, so... (Score:5, Insightful)
...here's an idea that maybe nobody has tried yet.
Ask them.
Rather than do the collective F/OSS thing and lose our minds about a software patent that's in the way...how about asking Borland if we may write something their patent covers?
Has it at least been tried yet?
Yes, software patents are evil. And yes, exception handling has tons of prior art. And still yes, this is freaking obvious. But still. It's only a problem if they complain, and they're less likely to do so if we just simply do the good manners thing and ask first.
Re:Who Next? (Score:2)
What patent? (Score:5, Informative)
Re:What patent? (Score:5, Interesting)
Re:What patent? (Score:2, Interesting)
Re:What patent? (Score:2)
I saw prior art in the references, so perhaps the way they are reporting the errors to the OS is systemic to Windows systems?
Re:What patent? (Score:4, Informative)
Please use the right terminology (Score:2)
Re:Please use the right terminology (Score:2)
Well, to pick a nit, I never said it was a submarine patent.
My question was posed in an attempt to generate discussion over whether their were other companies outside of Microsoft who might hold submarine patents that could affect Wine development.
Sorry I wasn't more clear.
Donation please... (Score:5, Interesting)
Or better... (Score:5, Insightful)
Re:Or better... (Score:2)
Re:Or better... (Score:2)
Re:Or better... (Score:2)
I can see a logic to assisting gcc, while still ensuring that your own compiler is superior. You get PR for the assistence, and $ for your own compiler from those who (for whatever reason) need (or think they
Re:Or better... (Score:2)
No not really. Intel wants people to buy their chips not their compiler. I doubt that they make any money off the compiler. It may pay for the cost of development maybe.
FUD? (Score:5, Informative)
My first thought was, gee, that's not been my experience--as I recall, although it was complicated, it was rather well documented. So I did a bit of Google and found that other people seemed to agree with me (i.e., they say things like "Furthermore, compared to the other compiler projects, GCC offered the most comprehensive documentation for backend porters." [tu-chemnitz.de] and so forth).
The only thing I could find that even sort of suport your claim was RMS's thing [gnu.org] about not wanting the backend to drift into becoming an LGPL black-box (thus chilling the development of new GPL'd front ends).
So, do you care to back your claim up?
--MarkusQ
Of course (Score:5, Interesting)
Re:Donation please... (Score:2)
--jeff++
Re:Donation please... (Score:2)
Re:Donation please... (Score:2)
Re:Donation please... (Score:2)
Thank you! Even John Goodman was considered a sex symbol at one point.
Borland's still around? (Score:4, Funny)
Ugly workaround? (Score:5, Funny)
Use Windows? (ducks)
Re:Ugly workaround? (Score:2)
-Jesse
Re:Ugly workaround? (Score:2, Informative)
Re:Ugly workaround? (Score:5, Funny)
In Marvin's Voice (Score:2, Funny)
I swear I heard Alan Rickman's voice reading this line to me.
Is that ironic (Score:5, Informative)
Amazing how thing like this rear their head AFTER a company that holds the Patent actually used the app in their OWN product, can you say STINGY
Re:Is that ironic (Score:2)
Re:Is that ironic (Score:2)
no, it's legally interesting (Score:5, Interesting)
Re:no, it's legally interesting (Score:5, Insightful)
Re:no, it's legally interesting (Score:2)
Re:no, it's legally interesting (Score:3, Insightful)
Re:no, it's legally interesting (Score:2, Informative)
Mod up parent (Score:2)
Umm... (Score:2)
Unless Borland added it to GCC, the grandparent isn't the one who needs to RTFA and use their brain.
Re:Umm... (Score:2)
Re:Umm... (Score:2)
Perhaps the GCC or the Wine people should help the OpenWatcom people with binary ELF support. Watcom supports SEH.
Just a suggestion.
Enjoy,
Re:no, it's legally interesting (Score:3, Informative)
Re:Is that ironic (Score:2)
That is one of the things that is expected to be cleared up in GPL v3.
Stupid software patents (Score:5, Insightful)
Again, I hate software patents. There's no point.
Most of what you'd want to protect is covered by copyright. If it can't be covered by copyright, well, then it's something so basic (like "the dog is big") that it's almost impossible to express something without doing it that way.
Again, this is where the idea of a software patent is stupid. Don't allow people to do things in ways that you really couldn't cover with copyright?
Ok, now I find myself back to the argument that source code is speech, and hence not patentable.
Re:Stupid software patents-quoth the lawyer. (Score:3, Insightful)
Both groups make the same points for the same reason: the terms on patents and copyrights are ridiculously long---far too long to avoid interfering with the continued evolution of technology. Patents in the field of computing should be at MOST three years, not twenty.
Twenty years makes sense for some physical inventions because it may
GCC list discussion (Score:5, Informative)
Links to an implementation of this can be found in this mail [gnu.org], the legality of this implementation is discussed in the followup.
The inevitable prior-art discussion begins here [gnu.org].
Re:GCC list discussion (Score:2)
Sun's patent looks a lot more broad, and is more recent, but it also seems to use an external stack with setjmp/longjmp, for which DEC's implementation beats 'em by a decade. Not quite as featureful as Sun's, but the same core idea is in there.
Make a "Plugin?" (Score:2, Interesting)
Re:Make a "Plugin?" (Score:2)
This is good news for open source. (Score:5, Insightful)
Even worse, this makes it clear that using patent-encumbered software has a genuinely unpleasant viral effect on all your software.
The pro-patent folks will eventually realize that the best solution is to avoid ALL patent-encumbered software COMPLETELY -- and look even more skeptically at all proprietary software, too. This will have the opposite effect of what they had intended.
Re:This is good news for open source. (Score:3, Insightful)
They'd rather spend and hope that they can litigate someone and make money off it, rather than come to some sort of oh-angelic-realization.
They're in it for the money and for the greed, if they had any remnance of altruism or understanding, they'd have realized it a long time ago, with or without situations.
If anything, it would go worse, not better.
Re:This is good news for open source. (Score:2)
Oh [slashdot.org], really [slashdot.org]?
Thanks! (Score:2, Funny)
Thanks Marvin!
Solution: (Score:2, Funny)
1. Take function.c, where function.c is the patented software.
2. Add a
3. gzip the file
4. Write a program that evalautes the entire contents of the file as a single number, and check if that number is prime.
5. If it's not, increment the crap inside the comment, repeat steps 3 and 4 and check again for prime. Eventually, you will find a prime.
Now, you have a prime number, that if you run gzip on it, w
Re:Solution: (Score:3, Funny)
Lets see. XP is probably about 650Mb, so that's 5.6x10^12 bits. Let's round down for GZIP and call it 10^12 bits.
So we just need a prime in the order of 2^(10^12). That can't be hard to do, can it? Just because the highest prime so far is in the order of 2^(10^7) just means that those mathematicians have been slacking it a bit! Lazy bums! And no doubt their software is lousy and totally inefficient. I'm sure Slashdotters could fix that.
Bu
Re:Solution: (Score:3, Interesting)
It works for DeCSS because that algorithm's so ridiculously short. It would be hard to express a longer program as a number.
You won't like them. (Score:3, Funny)
Wow, sounds like he's depressed, like he has a pain in all the diodes down his left side or something.
Ask Nicely (Score:5, Insightful)
I recently advised a graphic designer/artist friend whose Flash app (advertising a minor celebrity pool player) drew the ire of an OSS "advocate". They demanded that the Flash movie be replaced with something that didn't require any "closed source" software to use it. My friend and I replied politely with their cost:benefit analysis (>95% of desktops can use Flash), the fact that Flash is an open standard (SWF), and the reality of making choices that can't please everyone, so the best alternative is chosen. The "advocate" devolved into namecalling and refusal to accept any of the designer/artist's reasons as valid. Which not only lost that private argument on facts, but alienated any possiblity of the designer/artist exploring OSS possibilities, as long as reliable old Flash still works.
If you're going to request that Borland release its constraints on Winelib, remember that you catch more flies with sugar than with vinegar. And that invitations to a company to join the OSS "community" makes you an ambassador from your community. Which demands high performance in charm and persuasion, rather than represent the community as a barbarian horde.
Re:Ask Nicely (Score:5, Insightful)
Second:
I recently advised a graphic designer/artist friend whose Flash app (advertising a minor celebrity pool player) ...
Don't ever let him get rid of that Flash. I've found that when I see a webpage that invites me to download Flash, I can just close that tab: there's nothing there for me to see. That's saved me a great deal of time and bandwidth which I might have wasted if those sites had used animated gifs instead.
Re:Ask Nicely (Score:2)
Re:Ask Nicely (Score:3, Insightful)
Every invention has at least two effects: the intended one and the other(s). For Flash, the intended effect is letting visually-oriented people do their thing. The un
oxymoron? (Score:2)
is it something like "minor celebrity hair dresser" or "minor celebrity cab driver" ??
There's an uber-workaround (Score:5, Interesting)
Remember, patents don't mean you can't code it. You can code it. You can use it for personal non-commercial use. You can distribute the code. But you can't use it commercially, distribute binaries, or sell it.
So the coders can continue doing their merry work, producing code that would violate patents were it compiled and distributed, and the distributors can continue merrily distributing the code in Europe.
The only people who are left out of this are Americans who would have to buy licenses from Borland to use the code in the US. That's fine; Americans should either pay according to their laws or change their laws.
But we shouldn't let American laws affect the rest of the world where they don't apply.
We need to start doing this for all open source software. There is no way to avoid trampling on patents if you're writing any fairly large or complex piece of software these days, especially any software that involves codecs, pre-existing APIs, and pre-existing file formats. Well, just about any useful piece of large software involves such things. Rather than getting into a hissy-fit on Slashdot every time some patent issue is discovered, open source developers should just plan for the problem and plan to bypass it.
The patent situation is not like the copyright situation. Copyright laws are roughly similar everywhere in the world and they are enforcable everywhere in the world. There are wide divergences in patent law around the world and most of the world is not burdened by America's folly in this regard. Why should developers bear the burden of one country's legal folly? Answer: developers shouldn't, and should simply pick the right jurisdiction for hosting the project.
This isn't some radical idea here. MPlayer, for example, could not possibly exist as a US-based project. US coders can and do contribute to it, but it's based in Hungary, where it's safe.
Re:There's an uber-workaround (Score:5, Insightful)
``As of now.'' Something about your proposal is worrying me, but as of now I can't put my finger on it.
Yes, it's a good, sensible plan for today, but there's this terrible [ffii.org] little [zdnet.co.uk] flaw [wired.com] which keeps it from being a long term solution.
Except even MPlayer isn't safe (Score:4, Informative)
Funny, but its current home page [mplayerhq.hu] doesn't exactly give me warm and fuzzy "safe" feelings. Methinks you chose a bad example there :-)
Re:There's an uber-workaround (Score:2)
It's the "as of now" part that is worrisome. Europe could very well have software patents in the next year or two. The WTO and US are basically forcing most of the rest of the world to adopt US-style IP laws.
Maybe instead of Europe, you could distribute from Cuba. Not likely to be software patents there as long as Fidel is alive
But seriously, is there a list of countries somewhere that are resisting software patents? (India just signed up a few weeks back
Re:There's an uber-workaround (Score:5, Informative)
Wrong. The European Patent Office (EPO) has issued thousands of software patents. There are just doubts as to their enforcability, and several member countries do not accept them at all. This is what the new EU directive (CIID) is all about.
C++ Standard? (Score:3, Insightful)
Re:C++ Standard? (Score:3, Informative)
-1, wrong (Score:2)
MSVC provides non-standard extensions for C and C++ code, sure, but even if you compile C++ compliant exceptions with MSVC, it translates it behind the scenes to SEH.
SEH is the way that exceptions are implemented, and is thus not connected to language features.
what does the pattent cover? (Score:2)
Re:what does the pattent cover? (Score:3, Interesting)
C++, Java, whatever... they all have exceptions. How does the compiler actually HANDLE the exception? SEH is a patent for how to put that exception information on the stack in an x86 environment.
It's pretty specific and pretty proprietary; If you ask me this is an example of a good software patent for once. I'm sure SEH took a lot of work for the folks at Borland (and Microsoft?) to get working right. This isn't like Amazon
Why now? (Score:2, Informative)
http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PT O1&Sect2=HITOFF&d=PALL&p=1&u=/netahtml/srchnum.htm &r=1&f=G&l=50&s1=5,628,016.WKU.&OS=PN/5,628,016&RS =PN/5,628,016 [uspto.gov]
The Patent Number is 5,628,016
There are two dates:
May 6, 1997
and
Filed: June 15, 1994
I assume the 1997 date is the "granted" date. Why is this problem surfacing now, almost ten years later??
Stephan
Can someone clarify this .... (Score:2)
Last I knew, when you compile code that'll run under an OS, you're more or less stuck supporting the way that OS/hardware expects to run code. Is there some more optional/vendor specific stuff that is happening? On a UNIX system, at least, I can always peek at things with gdb no matter the compiler I used for it.
Does this SEH stuff produce code that executes differently than other code? Is this unique to Windows?
I'm just a little confused. =)
OS/2, Prior Art (Score:4, Interesting)
In digging through obscure
Article here:
A Crash Course on the Depths of Win32(TM) Structured Exception Handling [microsoft.com];
Enjoy,
Seems like much ado, about nothing, to me. (Score:3, Insightful)
Is there really that much Windows code, getting ported to *nix? Seems like virtually all FOSS development flows the other way.
Large commercial companies that develop for Windows first, will have the resources to fix the code to compile the other direction.
And is WINE/WINELIB really a good solution? By taking something written for a particular platform, and just recompiling it straight over to a new platform aren't you going to end up with horribly unoptimized code no matter what? Rewriting the code to use non Windows specific calls will buy you a LOT of speed, and whatnot, I would think.
Let's Quit Whining and Fix this (Score:3, Funny)
First suggestion: Elect a steering committee to form an organization/lobbying group.
What do you think?
Didn't Borland use WineLib (Score:2)
Screw Borland. (Score:2)
It worked for MPlayer.
VMS was doing this in the 80's (Score:4, Informative)
Isn't that the point? (Score:4, Interesting)
Now, discussions whether that should apply to physical inventions only or software is a topic I'm not getting into here.
I'm not going to touch how long those patents or copyrights should be - that war rages in enough other threads.
The financial gain for the inventor/creator is part of the motivation for inventing/creating. As much as I dislike MS, they are entitled to the rights afforded by their patents. Like it or not software is patentable around here, so we are stuck with the consequences.
-2, unpopular concept
Re:Isn't that the point? (Score:3, Insightful)
However, the patent system doesn't guarentee financial gain for anyone (except for patent lawyers, that is). In some areas (e.g. medical res
An Alternative? (Score:2, Interesting)
If it's feasible, organize a fundraising effort from the OSS community, buy the license/patent from Borland, and immediately release the code under the appropriate xGPL. Many OSS contributors are corporations with a fair bit of money, so I see this as being at least worth discussing.
If nothing else, this is a
Only for porting windows apps to linux .... (Score:5, Interesting)
using the MS tools and linking the app with winlib.
Before you flame this, consider who would be doing this....someone who has a closed source application already working on Windows and wants to sell his application to the Linux market. IIRC, winlib is licensed under the LGPL, so this approach would be legal. (and this is EXACTLY how Coral ported Wordperfect 2000 from windows to Linux).
Software Patents (Score:3, Interesting)
I used to work for a large bank, the largest investment bank in the world in fact. A couple of years ago they sent an internal memo around proclaiming that they had just lodged their first patent and were well proud of it. They said something like "we have another several hundred in the pipeline". I wrote an semi-anonymous email back to the global head of the division of IT where I work, basically saying that that he'd better be ready to reap the whirlwind once all the banks started realising that they could patent ridiculously simple concepts (like using a PDA with realtime updates to enhance the productivity of specialists on the floor of the exchange, which was we had apparently 'invented').
I never heard another thing about software patents and a few months go I left.
Enough alrady. (Score:3, Funny)
Re:Wait a minute... (Score:3, Interesting)
Huh? (Score:5, Funny)
--grendel drago
Re:Wait a minute... (Score:3, Informative)
Re:wine (Score:2, Funny)