Winelib Hobbled by Exception-Handling Patent
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."
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.
Linux - because it doesn't leave that Steve Ballmer aftertaste.
More likely is that Intel would arrange (ie. throw some money, tech, patent licenses, whatever) at Borland in return for such a thing. Borland doesn't have any motivation to make stack-based SEH available to free x86-targeting compilers [the patent's irrelevant on RISC], but Intel arguably does.
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.
There is not nearly enough love in the world, but there is far too much trust.
Hardly stingy. The Kylix people probably had no idea about the SEH patent. And it's not like Borland has said they won't license the patent on royalty-free terms.
Has anyone asked Borland?
Next, a wave of Slashdotters will hassle Borland to release the patent, or exempt Wine. The objective is worthy, the self-organized social wave of independent activists is meaningful. But the style will most likely be counterproductive.
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.
--
make install -not war
Since this is a patented technology used in other compilers, I assume Borland licenses it but it can't be part of the C++ standard. This just seems to me like another great example of problems introduced when programmers rely on things that are not part of the standard. Whether it is Microsoft's custom portions of Java (which meant Java apps suddenly were no longer compatible with Sun's JVM) or vendor extensions to error handling, if you use a tool that does not meet defined standards, then you develop software that is much less useful (it may implement something cool but it has a more limited audience and an almost guaranteed shortened lifespan).
But I thought the SEH isn't a part of winelib because of this. It's not a question of the code already existing, it hasn't been written yet and can't be written due to this patent.
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.
Borland use winelibs in their Linux Delphi/C++ Builder version called Kylix so they don't have to rewrite all the Windows native code.
By suing the Wine folks, they'd shoot themselves in the foot.
Slashdot anagrams to "Sad Sloth"
So all that's broken here, is the ability to complile code, that was written for Windows, into *nix binaries. That's all.
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.
"Politicians are interested in people. Not that this is always a virtue. Fleas are interested in dogs." P.J. O'Rourke
``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 little flaw which keeps it from being a long term solution.
See what I've been reading.
either way it was never included so the grandparent post about borland and kylix is moot
So, if you plan on 'combating' sw patents, you're going to need ... MONEY. Righteous indignation ain't gonna cut it.
Generally, bash is superior to python in those environments where python is not installed.
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 take several years to go from a working design to mass manufacturing. For software, five years later, a product is not only old news, more than 90% of the time, it has been completely superceded by other products on the market and is no longer even being manufactured. Having the same patent term for computer software as for physical inventions is patently ridiculous (no pun intended).
Check out my sci-fi/humor trilogy at PatriotsBooks.
It seems to me after I RTFA that the wine group actively identified this as being a problem and pursued corrective measures. The article also mentions that PostgreSQL replaced some of their functionality recently to avoid conflicting with an existing IBM patent even though IBM declares that it will not use it's patent war chest against any OSS projects. I think this sends a clear signal that the community is aggressively looking for this type of thing. I've no idea how Borland has been doing financially over the past few years but it definitely seems worthwhile to ensure that smaller companies dont have something like this to use against us. A small company claiming to own rights to significant portions of the linux kernel, or even patents covering something widely used within could really cause a black eye. I also think it's safe to say that SCO has inadvertently shown the other players how voiced, and loyal the OSS crowd is. This is sucky news but it is encouraging to know we're looking for this type of thing. With Microsoft patenting breathing and other bodily functions (Windows seems to be proficient at one or more bodily functions) independent developers have to be very discouraged.
"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."
Your comment carries quite a few inaccuracies and outright flawed conceptions.
The only reason you can do the things you listed, is because you don't get caught, not because you're allowed to. My ethics do permit a "don't get caught" approach, but that's not the letter of the law.
However, the patent system doesn't guarentee financial gain for anyone (except for patent lawyers, that is). In some areas (e.g. medical research) the patent system works great and is necessary for a lot of the research to be commercially feasible. In other areas (CS) it rarely does any good, but instead causes lots of problems and actually inhibits innovation.
Please alter my pants as fashion dictates.
Don't knock the idea of registries just because Microsoft can't implement them properly.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
...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.
Weaselmancer
rediculous.
It's a scheme for registering exception handler routines on the stack. Any language that supports any kind of notion of requesting a non-local transfer of control could use it. Microsoft's .NET runtime catches all structured exceptions (and maps certain common ones to CLR exception class instances), for instance.