How to circumvent Open Source Licenses for commercial and interoperability purposes

Posted 9 Apr 2004 at 09:21 UTC by lkcl Share This

The European Directive on Copyright law, 91/EC/250, which was recently referenced "without prejudice" in the latest Directive on the European DMCA-like proposal, makes it clear that interoperability at interfaces points in both software and hardware take precedent over Copyright.

As Open source begins to overtake commercial software in functionality and squeezes out the commercial competition, and license compatibility between Open Source projects becomes a real impediment to progress, what becomes a way forward?

Well - 91/EC/250 applies to Open Source software just as much as it does to proprietary software...

The key sticking point is the incompatibility between the GPL (and in rare instances its sister the LGPL), the BSD-like licenses of the Apache and Wine projects, and commercial software.

Software takes a lot of time to develop, and, as we are finding even in the Open Source world, once one project takes hold in a niche area - Samba for example - that's it, Game Over, you cannot seriously expect a competitor. Likewise with Wine: there will never be a serious contender to Wine.

Companies who wish to develop printer device drivers for example that can be installed under Windows and also on Samba will be scared off from developing such drivers because, oh, let us suppose, they need some functions and assistance from Samba, which is GPL code, and consequently their specialist Intellectual Property is lost to their competitors as source, something that they cannot consider doing.

So instead of the Open Source License being the "Saviour of Software", instead, at the moment, it is becoming a hindrance to cooperation and progress.

... or does it simply not matter?

Well, the European Directive on Copyright Law for computers _specifically_ excludes interfaces at software-software, software-hardware and hardware-software, including networking points and APIs, from Copyright protection.

If the information sought regarding those interface points is not available "by any other means", 91/EC/250 specifically mentions that reverse-engineering is a legitimate way to obtain the information sought [but to go one step further and seek out proprietary secrets such as a really fast implementation of a service behind an Interface is _not_ legitimate].

That has some quite important ramifications: it means that anybody writing a program is entitled to "interoperate" with another program's interfaces.

In other words, the Wine team are entitled to write to the Samba team to ask them for their "interface" access points, such as the DCE/RPC and LANMAN and SMB file / print sharing interfaces. The Samba team responds by saying "you can get the code from here". The Wine team responds by saying "the license is incompatible, I cannot use that code". The Samba team responds "sorry, we cannot help you there".

It is my belief that, at this point, the criteria for "seeking the information on the interface points by all available means" has been satisfied, such that the Wine team may now perform "reverse engineering" to obtain the information that they seek.

This step is a bit of a weird one, because the reverse engineering step is actually totally trivial: obtain the header files :) if that is a bit grey, then bog-standard reverse engineering, from examining the mailing lists etc. and any documentation that a good project keeps around, should provide sufficient necessary information.

the source code is conveniently lying around, so reverse engineering could involve compiling with -g -g and then having a go with gdb and putting breakpoints on the interface points.

In short, it is my belief that 91/EC/250 applies just as much to Open Source projects as it does to Proprietary ones, allowing a means for proprietary companies and incompatible licensed Open Source projects to work around their differences, and it is also my belief that this will be of benefit to software development.

... any volunteers want to tell RMS that his ultimate goals are at present at odds with the European Laws that levelled the playing field enough for Open Source to interoperate with commercial software?


Header Files as Docs, posted 9 Apr 2004 at 14:51 UTC by ncm » (Master)

Reading freely-distributed source code isn't reverse-engineering. It's particularly thorough documentation. Since the stuff is documented, no reverse engineering is needed.

That actually is one of RMS's ultimate goals, as expressed in his manifesto: to expose implementation details for their educational value.

License is not Copyright, posted 9 Apr 2004 at 15:42 UTC by jds » (Journeyer)

This is good news, all of it, and your analysis is fruitful.

Note that the copyright freedom just gained is not necessarily the same as license freedoms. The GPL is a License, not a copyright claim. However, the essence of your observation is that courts are *leaning* in the direction of making API analysis wide open. This is a Good Thing.

Thus ncm's point that reading open source code is reading particularly thorough documentation is appropriate. _READING_ source code to understand principles and API structure is far different from executing it, although this court case seems to think otherwise.

It is good to see people considering the fact that Open Source must abide by the limitations it seeks for Closed Source; every freedom requires an equivalent amount of responsibility; sometimes you benefit from it freely, and sometimes you have to do the work and stewardship to make it happen so others can benefit.

For example, some of the freedom we take for granted in Open Source today will be challenged in court over time because of negligence and greed from within Open Source... so it is good that we are already thinking ahead, and preparing open sourcers to meet themselves with a smile in 50 years.

Three main competing bodies, posted 11 Apr 2004 at 19:42 UTC by lkcl » (Master)

there are three main competing entities involved here:

1) a viral license that consumes everything in its path and doesn't let anyone else get a word in edgeways (the GPL license)

2) a self-publicising license that can be used for commercial purposes as well as open source ones - as long as you keep the commitment of "free advertising" (the BSD style licenses)

3) proprietary code development backed by laws that require directors to take anything and everything they can get their hands on and give as little back in return as they can get away with, or be strung up by their shareholders (read up on company law if you don't believe this to be true)

you may believe this to be a stark way of looking at the way things are: i hope that by offending _everybody_ you'll realise that i'm actually being fair. [what i find slightly disappointing is that there isn't any provision for advancing humanity in _any_ of 1, 2 or 3, with the possible exception of the ASF's Apache License which is a charitable version of 2) ].

competition between 1) and 2) is kinda strange: the licenses are incompatible becase 1) will suck 2) dry, and 1) is not at home with 2)'s "free advertising" clause.

competition between 1) and 3) is self-evident: 3) is afraid that 1) will, again, suck them dry. sometimes 3) realises that the way of the 1) is best, and goes for it - witness StarOffice->OpenOffice, Netscape->OpenOffice, and the rather quieter SAP DB which since i last checked seem to have become MySQL (or they always were, i just never delved into it enough).

3) seems to be reserved, these days, for really highly specialist subjects.

  • i don't see electromagnetic engineering simulation companies producing their $4,000 software for linux
  • i don't see adobe photoshop for linux
  • quark express for linux
  • or the famous and expensive CAD/CAM package the name of which has escaped me temporarily.
  • Xilinx _do_ have their FPGA software available for linux (and solaris): you can get the WebPack free for windows but, like Altera, you have to spend thousands of dollars for their Linux software - the full version.

all of this software it is a heck of a lot easier to improve and run them under Wine, as Corel found out to their - and the open source community's - benefit.

_except_ of course, Wine falls into a category 2) software.

consequently, it _is_ freely available, you _can_ modify it for commercial purposes, and in fact two companies have done so.

One of these companies specialises in Crossover Office - which has improved Wine's Win32 API in the area of printing / screen driver "emulation" and other parts.

Crossover Office is, however, now quite old, and although it is a heck of a lot faster than Wine in some areas, it lacks some of the newer functionality of the latest version of Wine.

The other company has specialised in DirectX 8 and 9 - their product is called WineX. it works, it's great. i doubt very much that it is capable of running Microsoft Office, though.

so due to the size of the massive undertaking of the Wine team, we now have _three_ versions of Wine, two of which are proprietary and highly unlikely to ever meet.

So, even though Wine exists, in some areas, Wine is unbelievably, intolerably slow: i tried running Xilinx's Webpack under the latest Wine _and_ under Crossover Office - under both versions, what took 10 seconds on native Windows 2000 took 5 minutes under Wine and at that point i had to stop it because it told me that i had another 25 minutes of compiling to go).

I don't see DCE/RPC available for Linux, and in popular use. DCE/RPC is a _critical_ strategic component that ties Windows NT, Exchange, DCOM, NT Domains, most of Windows NT / 2000's system and remote management tools, Wine and Samba together.

And, other than for various conspiracy-level reasons due to DCE/RPC's links with Kerberos (e.g. that it is likely to have been used to produce massive distributed cracking engines, therefore-everybody-else-must-want-to-use-it-for-that-too mentality), i cannot think of _any_ good reasons why it hasn't come into prevalent use yet.

After all, CORBA was dropped into the Open Source community's lap by Olivetti Research Labs in about 1996, and CORBA is another layer above DCE/RPC (CORBA is to DCOM as CORBA's RPC mechanism is to DCE/RPC), so why didn't DCE/RPC (FreeDCE) take off, too?

In short, Open Source has polarised software development: it has not curbed the excesses of Capitalism's sociopathic nature (and never will). Instead, it is beginning to take over with less professionalism and attention to detail [amateurs, even ones led by financially independent project leaders, cannot have the same drive and focus as the capitalist-led carrot and stick] but in the same breath pushing out the ability of proprietary software development to compete.

I don't see AOL or RealPlayer complaining about xine and friends - yet - but my hunch, there, is that patents are involved, so There Shall Be No Clashes (apple, anyone?)

However, if we _do_ see Linux and Linux apps taking off, and gaining a big market share, i believe we should be ready for some bun fights.

and in order to take the wind out of them proprietary boys' sails, we should be prepared to say "here, have some header files. onna house. no strings attached: no license, no charge".

trouble is... how many major open source software projects are there which are not owned by a novell, a redhat, a mandrake, where such decisions on releasing "Interfaces" into the public domain can be made?

is it time, therefore, for a GPLv3, which specifically includes "interfaces" to be treated the same as "binaries"? in other words, is it time to incorporate European Law into the GPL, before we get bitten?

lkcl: wankage, posted 12 Apr 2004 at 02:30 UTC by tk » (Observer)

Why do you need all these DCE/RPC crap when you can directly call a C function because you already have the source code in the first place? Or, failing that, why can't you -- or anyone, for that matter -- just write a simple glue program to glue stuff together? Or *shudder* use CORBA?

And what do you mean by "attention to detail"? Do you mean that a Linux system should copy every detail of WinNT? That a Linux system should clone every darn application that WinNT has, bugs and all? Look: LyX is already way better than M$ Word. And it doesn't need M$'s inane Clippit. Apache rocks over M$ IIS. MagicPoint isn't bad compared to PowerPoint. What more do you want?

Yes, as Linux starts "gaining a big market share", we'll start seeing more of these inane "Linux should be a clone of Windows!" rants.

copyright on interfaces vs. copyright on code, posted 12 Apr 2004 at 05:44 UTC by jamesh » (Master)

Okay, so this European law says that you can't copyright interfaces. This means that eg. Sun can't prevent the classpath project from implementing the Java standard library interface, or Microsoft stop Mono from implementing CLR interfaces (unless they have software patents that cover an interface ...).

You seem to be implying that it also means people can ignore sections of the GPL. Sure you could write code that uses a particular interface on some GPL software, or reimplement some interface provided by that software (since the interface isn't copyrighted). But what right do you have to distribute the GPL software if you violate the license? (also, you better make sure that your code isn't a derivative product of the GPL code if you want it to be independent).

Your Samba addon isn't going to be very useful if it can't be distributed with Samba.

to whom do you speak?, posted 12 Apr 2004 at 09:38 UTC by lkcl » (Master)

tk, would you say the same thing as you have said if it was michael tiemann who had written the words that i have?

Re: copyright on interfaces vs. copyright on code, posted 12 Apr 2004 at 10:05 UTC by lkcl » (Master)

Okay, so this European law says that you can't copyright interfaces.

that's correct. it outlines the hoops that you have to go through in order to do that.

This means that eg. Sun can't prevent the classpath project from implementing the Java standard library interface, or Microsoft stop Mono from implementing CLR interfaces

absoltely.

(unless they have software patents that cover an interface ...).

under present law, software patents are illegal in europe, therefore that is a non-issue. _however_, that looks set to change, soon, which will in itself bring about an even bigger problem.

You seem to be implying that it also means people can ignore sections of the GPL.

no, that is incorrect. what i am saying is that the GPL, like any proprietary interface, is ILLEGAL under European Copyright law because it does not allow other software with a different license to "interoperate" at obvious "interface" points.

that's very, very different, and it's why i believe that there should be a revision to the GPL to specifically take into account, and allow for, other software to interoperate with GPL code at its "interface" points, not just with the "binaries".

But what right do you have to distribute the GPL software if you violate the license?

as i've said before, and it is worth re-iterating: it is the _GPL_ that is violating European Law, therefore the right to use, modify, display, distribute and perform derivative works is unaffected.

which is in itself quite interesting because it make it easier for the person wishing to combine BSD-style code and/or proprietary code with a GPL'd program at the GPL'd program's "interface" points.

i.e. if the "interface" is not entirely satisfactory for use in the BSD-style or proprietary program, as you have the source of the GPL'd code, you can modify it, and provide its source code.

even better, you can write YOUR OWN version of an "interface", and as the copyright holder of the header files, make one copy of the header file available under the GPL, and another copy available under a BSD or proprietary license.

i have to be clear on this, though: when i say "interface" it HAS to be JUST an "interface" point. An API that goes over a socket, and the protocol used to send the data over the socket. DCE/RPC and DCE/RPC services is a really good example, which is why i use it.

the benefits of this approach i will outline for you in a missed opportunity that could have resulted in significant kudos for samba. no doubt you have heard of AFPS - Advanced File and Print Sharer for Unix? it's actually Microsoft Windows NT 3.5 ported to Unix - a very bad port that leaves race conditions and security flaws in the file sharing.

AT & T, SCO, SGI - they have _all_ licensed this code from microsoft, directly or indirectly. Sun Microsystems was the last to do so, for several millions of dollars.

the code they received was crap.

it was so bad that they seriously considered ditching the file sharing part altogether. they started to look for alternatives, and took a serious look at samba. they investigated ways to make use of samba's extremely good and tried-and-tested file sharing capability, and looked at ways to add in the AFPS DCE/RPC-based NT Domains services into samba.

why do this, and _how_ do you do this? well, samba is actually a collection of about six or seven different network protocols, and about twenty to twenty five separate services, at least fifteen of which are DCE/RPC services.

because those DCE/RPC services are behind sockets, it's acually quite a trivial task to rip out one version of such a service - at its DCE/RPC interface point - and run another one in its place.

only, samba's implementation is so stupidly monolithic that this is impossible to do.

consequently, the people at sun who were investigating ways to interoperate with samba were forced to drop the idea.

now, what we, the open source community, lost out on there was an opportunity to have some code running under a unix system that could a) give samba more market share b) give it some serious credibility in areas that it might not be taken seriously.

we could have had samba interoperate PROPERLY with NT domains in some very large corporations.

_full_ interoperability with NT domains, because it really _would_ have been the original NT domains source code - from microsoft.

and then of course there would be a foothold in to replace those proprietary DCE/RPC based NT domain services with Open Source equivalents. one by one. and also there would have been a way to regression test them, too.

but no, we have to go fuck ourselves over. 'scuse my language.

attention to detail, posted 12 Apr 2004 at 10:16 UTC by lkcl » (Master)

And what do you mean by "attention to detail"? Do you mean that a Linux system should copy every detail of WinNT?

i will reiterate what i implied / said by "attention to detail", i may not have been clear.

it is my belief that an open source project in a specialist area of expertise cannot compete with a proprietary project in the commercial arena.

take wine as an example. the developers on wine do not have DirectX 9.2 compatibility: they have DirectX 7 compatibility and they have DirectX 8 sound. and _that_ was added by Transgaming to allow them to have "hooks" into the "free" version of Wine such that they could release their proprietary version more easily.

the specialist knowledge and "attention to detail" that Transgaming have paid has resulted in them producing a highly marketable and valuable product.

has the Wine team done the same thing? have they got DirectX 9.2 compatibility?

now, i'm not questioning the laudable fact that without the Wine team's original efforts, Transgaming wouldn't have a codebase to work from in the first place - that much is clear.

my point is that Transgaming has specialised and paid attention to detail to get results, and if the Wine team did the same thing it would totally swamp their presently available resources.

remember, when both StarOffice and Netscape were released into the open source community, it nearly swamped us.

rants. oh rants, ohhh raaannnts. mm mm, doo doo doo dooo.., posted 12 Apr 2004 at 10:31 UTC by lkcl » (Master)

Yes, as Linux starts "gaining a big market share", we'll start seeing more of these inane "Linux should be a clone of Windows!" rants.

and less rants by yourself in making assumptions about what i say and do, i hope.

please get a grip, tk, calm down, and ask questions rather than assume. remember, stuff on the internet doesn't go away.

to answer your point:

1) linux has 25% server market, and a pitiful share of the desktop. how can linux possibly gain market share except by being as good as and better than its competition?

therefore, like it or lump it, you have to accept that only by providing a seamless transition from microsoft to alternatives can you THEN possibly hope to make any useful contributions and have any influence.

until you provide a bridge between the two worlds, by providing (at present, less capable and) alternative and incompatible tools, you are only helping to polarise the linux and windows communities. and the longer it is left, the more difficult it will be to catch up.

ESPECIALLY people such as yourself who have a similarly dictatorial and ... what's the word... disrespectful attitude towards extremely well thought-out and market-targetted software.

there is a REASON why microsoft's software is actually successful (other than the anti-competitive practices).

2) the reason why i keep bringing up DCE/RPC to people's attention is because it is part of the critical infrastructure on which NT is based.

you don't have to _like_ it. you don't have to be involved with it. you don't have to have an opinion about it. you just have to accept that it's part of the necessary infrastructure required to get from A to B.

where A equates to "want to interoperate and have bigger share"

and B equates with beating microsoft at their own game.

if you don't know and love your enemy, how can you possibly expect to defeat him? and that is _so_ true in this case.

BSD incompatible ?, posted 12 Apr 2004 at 12:35 UTC by gilbou » (Observer)

BSD is rather compatible with commercial software. companies can take code, use it even with their own changes and they can keep it for them if they wish. the project will not be affected and go on and since the cost of moving their changes will go up release after release, they end up giving to the bsd projects their changes, hoping they will be integrated into sources so they benefit from them on each release, don't support costs asd tests to integrate them and they benefit from peer review for free. for example, qnx uses the netbsd tcp/ip stack and has been doing so for years :

http://www.qnx.com/products/rtos/network.html

ipv6 itself is being worked on free "as libre" software and is based on BSD. so people from both GPL and commercial land can take code, and benefit from its years of work and bug fixes, commiting back for the benefit of all.

this recalls to me what emmanuel dreyfus explains : "if you want a technology to be spread, you made it bsd. gpl will be used to protect anything we want to keep for libre software's advantage. if tcp/ip is used on internet itself and so much spread, it's mainly because it was bsd-available and it crushed all proprietary protocols that were the norm previously."

bsd and gpl are a complement to each other.

last for jamesh :

> Okay, so this European law says that you can't copyright
> interfaces. This means that eg. Sun can't prevent the classpath
> project from implementing the Java standard library interface,
> or Microsoft stop Mono from implementing CLR interfaces (unless
> they have software patents that cover an interface ...).

if it's in EU they won't be able to use here "patents" over software, since they are not recognized as valid in Europe. so not only the EU does not accept copyright use over interfaces (because the interoperability is not only protected but allows reverse ingineering for that purpose) but the patents on software are not accepted either. there has been several attempts by the european office of brevets to push for software patents but they lost twice they tried. they do record such patents, hoping the whole thing will get legalized someday but europe has, hopefully, said no. if microsoft has such software patents in europe, they have no value here until this changes. your sentences about this point are in contradiction with current EU law. "unless

they have software patents that cover an interface" : even if they have, in EU they got it up their *ss.

Re: copyright on interfaces vs. copyright on code, posted 12 Apr 2004 at 13:01 UTC by jamesh » (Master)

as i've said before, and it is worth re-iterating: it is the _GPL_ that is violating European Law, therefore the right to use, modify, display, distribute and perform derivative works is unaffected.

The GPL (like all other licenses) basically boils down to "If you do X, then you may do Y with the software" (where Y is something that you can't do under default copyright protection).

If you aren't obeying the terms of the GPL, what other license is giving you the right to distribute the copyrighted software?

lkcl: more wankage, posted 12 Apr 2004 at 15:52 UTC by tk » (Observer)

lkcl:

tk, would you say the same thing as you have said if it was michael tiemann who had written the words that i have?

Yes.

the specialist knowledge and "attention to detail" that Transgaming have paid has resulted in them producing a highly marketable and valuable product.

Yeah, yeah. You know what? People can write -- and have written -- highly marketable and valuable games for Linux without the need for your all-important DirectX 9.2 compatibility. Example: Doom.

1) linux has 25% server market, and a pitiful share of the desktop. how can linux possibly gain market share except by being as good as and better than its competition?

In other words, to gain market share, we should throw away the excellent LyX and copy M$'s crappy thing known as Clippit?

And how "pitiful" is Linux's share on the desktop? 1 desktop? 100 desktops? 1,000,000 desktops? Is the other 75% of the server market entirely owned by M$?

Linux is already better than M$ in a lot of things. I think the main reasons why Linux isn't taking over are simply these: (1) marketing (2) inertia. Unless you're planning to Force Linux Down Everyone's Throats(tm), you just have to promote Linux the slow and steady way, which is what's happening anyway.

until you provide a bridge between the two worlds, by providing (at present, less capable and) alternative and incompatible tools, you are only helping to polarise the linux and windows communities. and the longer it is left, the more difficult it will be to catch up.

Polarisation? From where? Even as I speak, I can interact with Windows users without much trouble.

The "polarisation" is only in your head.

there is a REASON why microsoft's software is actually successful (other than the anti-competitive practices).

And the "reason" is...?

you don't have to _like_ it. you don't have to be involved with it. you don't have to have an opinion about it. you just have to accept that it's part of the necessary infrastructure required to get from A to B.

where A equates to "want to interoperate and have bigger share"

and B equates with beating microsoft at their own game.

One, Linux already interoperates well with the world. Two, if by M$'s "own game" you mean putting a copy of Linux on everyone's desktop, that's already happening slowly, even without your oh-so-great DCE/RPC. If you want to hurry it, please feel free to implement a clone of the Great Almighty Clippit, so that you can be ridiculed for a thousand generations.

Besides, why should M$ decide the rules of the game anyway? One reason I'm drawn to free software in the first place is that it's less subject to all the inane marketing wars from crazy folks who think the whole world should be their private playground. Bring this nonsense into Linux, and I'll start writing my own replacement OS. I swear.

out of line., posted 12 Apr 2004 at 16:34 UTC by lkcl » (Master)

tk, you are being so rude that i cannot bring myself to even read what you have written. i thought i was the only one with a monopoly on attempting to wind people up.

i am saddened by your blatant lack of maturity, and terribly embarrased that a public record is made of your comments.

if, as you do by posting on advogato, you claim the right to represent open source, to be its ambassador and to champion its causes, and yet throw around such insults?

i am so ashamed and embarrased to be associated with you.

.

now that i have calmed down a bit, i glanced at your comments - without my glasses so that i would only get a glimpse of what point you are trying to make.

i believe that what you are saying is that you feel a need to reinvent the wheel - to polarise yourself from the rest of the computer-using world (who are forced through lack of choice to use windows).

i believe that this monopoly angers you enough to want to distance yourself from it rather than work with it.

you feel the need to stick to your principles, namely to pure open source and linux software.

i respect that. (i still can't bring myself to use windows, either, except for very specialist software when Wine fails me).

for example, for you - and i do _mean_ for you, you are happy to accept Doom as the only linux game.

well, i'm sorry to have to tell you this, but for post companies, to entertain the possibility of rewriting games for linux is just laughable. the return on such an investment is negative.

and i understand that for _you_ that's perfectly acceptable.

... but it doesn't help sell linux and open source to windows users, does it?

which brings us back to the point of this article: namely how to move forward _quickly_ - to catch up. and if that means combining the best of the best open source projects have to offer, via "interface" points, by pulling those projects' licenses into line with EU law, then that's ultimately a good thing.

Re: out of line., posted 12 Apr 2004 at 17:00 UTC by tk » (Observer)

tk, you are being so rude that i cannot bring myself to even read what you have written. i thought i was the only one with a monopoly on attempting to wind people up.

Oh sure, I'm "rude", while you're just "attempting to wind people up".

i believe that what you are saying is that you feel a need to reinvent the wheel - to polarise yourself from the rest of the computer-using world (who are forced through lack of choice to use windows).

Repeat repeat repeat: the "polarization" is only in your head. Get a grip on that, then we can talk.

well, i'm sorry to have to tell you this, but for post companies, to entertain the possibility of rewriting games for linux is just laughable. the return on such an investment is negative.

Name names.

which brings us back to the point of this article: namely how to move forward _quickly_ - to catch up.

And of course, the best way to "catch up" is to clone Clippit, right? Right?

You keep asserting over and over again, without evidence:

  1. Linux has a pitiful share of the desktop.
  2. Linux and Windows don't interoperate.
  3. Windows software is always superior to Linux software.
  4. The best way for Linux to gain mindshare is to copy Windows.
  5. Game companies are reluctant to port games to Linux.

And the more you try to "prove" these things, the more bogus claims you bring up, while the original claims remain unproven. Who's the one out of touch with reality?

almost, posted 12 Apr 2004 at 18:07 UTC by lkcl » (Master)

without apologising for your earlier rudeness, you are at least making progress: you managed to keep insults out of your comments until the last point.

okay, let's see what google has to offer, because i do admit that what seems obvious to me may not be apparent to others, and yes, i have been known to make mistakes.

also i believe it is important to correct your quite succinct summarisation, not least in that i state what i _believe_ to be the case, not assuming it to be fact.

1) linux has a pitiful share of the desktop
yes, i believe this to be true. a search with google shows a newsforge report that siemens predicts 20% share by 2008.
from a zdnet australian survey:

Prominent Linux activist Con Zymaris said the two statistics were hard to compare, as Microsoft had a 14-year advantage over Linux in desktop operations, an area the focus of Linux was now shifting to.

another newsforge article which describes how difficult and elusive it is to pin down linux market share, and how the statistics are often subtly twisted.

2) linux and windows don't interoperate
in key areas that keep windows users keep on using windows, yes, i believe this to be true. (unfortunately, as you are a purist linux user, i cannot convince _you_ of this, because you demonstrate repeatedly that you refuse to accept that microsoft might actually produce better quality and more business-focussed software than you or any other linux developer does).

3) windows software is always superior to linux software
i do not believe this to be true. i _do_ believe that _certain key_ windows products, such as visio, exchange, microsoft office, the look-and-feel of the XP desktop, have, by virtue of having hundreds of man years poured into them, and hundreds of thousands of dollars in user-driven market research studies, resulted in far better software for _the ordinary day-to-day business_ than the open source community could ever put together.

4) the best way for linux to gain mindshare is to copy windows
it may not be the best way, but i believe it to be the quickest way. certainly, if you are any example to go on, i believe that there is simply no hope for linux, because even the thought of having to install windows, even to analyse it, is such a total anathema. that is a great pity, because there is much to learn and admire and roll about on the floor at the stupid design decisions, and much to simply gawp at in the audacity and foresight and scale and devious cleverness of what microsoft has achieved.

5) game companies are reluctant to port games to linux.
do i have to _try_ and justify this one to you?? have you walked into a games boutique and asked to see their linux games selection?? i do, just once every year or so, in order to make myself feel better for a few moments of hope in between the door and the nearest sales victim. but now that i have found that WineX exists, i need not do that any more. except when feeling particularly depressed, and in need of a little vindication.

so, tk, what alternative suggestion do you have? what do you suggest be done? what course of action do you believe will get results? are you prepared to ask people to think hard about the direction they are presently taking, and how will you convince them that your strategy is good enough to make them want to follow it?

monopolies and mirrors conversion, posted 12 Apr 2004 at 18:15 UTC by lkcl » (Master)

the best way to imagine this situation is by analogy.

imagine that all microsoft users are walking one way, and that all linux users are walking in the opposite direction (that's what i mean by polarisation).

wine, samba and to some extent openoffice, evolution and even the lovely lindows, are "mirrors" that allow the two communities to see each other walking in the same direction but still further and further apart.

imagine two powerful ships. only by the two boats running side by side is it possible for people to "jump ship", and even then only if one of them is burning or sinking would they consider it.

and with the number and risk of virus attacks, microsoft users are _desparate_ for an alternative that looks and feels exactly like they are used to. you _can't_ expect people to re-train, they're too stupid: you've only got to see how they consider virus attacks and control-alt-delete to be _normal_ to realise that.

Clarifications, posted 12 Apr 2004 at 18:16 UTC by nymia » (Master)

I'm at a loss by the meaning of violation in terms of eyeballing code. Does it make a person responsible and in liability to the license upon inspection and study of the interface definitions? Take for example a developer who has interest in writing a component having an interface X, but the source document is the code itself, does it prohibit the developer to look at the code by virtue of the license?

beating a dead horse..., posted 12 Apr 2004 at 18:41 UTC by badvogato » (Master)

lkcl, i have the impression that you worked very hard at this samba thing. But maybe the horsepower on desktop/server(small to medium size) coupled with new tech in manufactoring cheap disk drives has pushed market to the point to adopting HTTP protocol/web server to replace file servers through adopting a new approach such as WebDAV among other new immerged standards, thus rendering Samba a deadhorse of bridging system resources among Windows vs. Unix.

That is my impression but i invite you to point out my ignorance on the subject of when the quality of fine tuned file system starts to show its merit and when a web service will crash because of the ill adjusted parameters on the underlying file systems.

Re: almost, posted 12 Apr 2004 at 18:46 UTC by tk » (Observer)

lkcl:

  1. 20% is pitiful?
  2. "I believe this to be true." Oh, wow. lkcl is Truth. Enough said.
  3. More $$$ poured into a product does not translate into a better product. It can just mean more $$$ poured down the drain. Visio? Linux has Dia. Exchange? Evolution. Microsoft Office? LyX, Gnumeric, MagicPoint. Look-and-feel of the XP desktop? Oh yes. It sucks, so let's duplicate its suckiness. And remember to pour billions of dollars into it so that it sucks more, will ya?
  4. "I believe it to be the quickest way." Again, enough said. By the way, I still have a Win98 partition on my desktop, and I actually use it occasionally. I've seen Clippit in action innumerable times, and I don't see how that's "better quality" or "business-focussed". Better quality wankage and wussiness-focussed, maybe.
  5. So how do you explain the success of Doom?

At any rate, I praise thee for thy great temerity in using a parable to justify the bogus. Still, let me carry the analogy further:

By nature, users use computers to perform tasks. They are naturally inclined to go towards a certain point, say a. M$ comes along, and persuades them to travel to a different point, say b, with the promise that once they reach b they can `more easily' move to a -- which isn't true. With time, the people who try to move directly to a instead of via b are seen as cranks. Then free OSes come along, with which people can move towards yet another point c, which is truly a lot closer to a than b is: ||c - a|| << ||b - a||.

So far so good. Then someone comes along and says, "look, everyone's moving to b, why's Linux positioned at c and not at b? This is wrong!" Nope. Lots of people are indeed moving towards b... but their real goal is a!

What alternative suggestion do I have? It's this: instead of examining what Windows is doing, examine directly what users want to do with their machines, and tackle that. Forget about point b; focus on point a.

Re: clarifications., posted 12 Apr 2004 at 20:23 UTC by lkcl » (Master)

I'm at a loss by the meaning of violation in terms of eyeballing code. Does it make a person responsible and in liability to the license upon inspection and study of the interface definitions? Take for example a developer who has interest in writing a component having an interface X, but the source document is the code itself, does it prohibit the developer to look at the code by virtue of the license?

the case of interoperating with open source code at "interface" points where the copyright holders are unable or unwilling to cooperate is an interesting one.

in the case of proprietary code, the license usually says, with very few exceptions, that you must not reverse engineer etc. etc. and also the source code is not available.

so usually you have to go through a "cleanroom" approach, involving 1) a request for an interface 2) a reverse engineering 3) a spec 4) a new person implementing the spec.

i would argue, in the open source case, that because the code is available, and freely available, there is no reason why the code cannot be examined as part of the [rather zero-step] "reverse engineering" effort.

particularly as the GPL itself is what does not conform to EU computer copyright law.

i'd be most interested in other opinions and viewpoints on this issue that you raise.

enough, posted 12 Apr 2004 at 20:24 UTC by lkcl » (Master)

tk, i'm sorry to say that i am forced to give up answering your points, as i cannot afford to waste my time sifting out your negativity from the valid points that you do actually make.

hard work and alternatives, posted 12 Apr 2004 at 20:38 UTC by lkcl » (Master)

lkcl, i have the impression that you worked very hard at this samba thing.
yes. i did. it was very sad but also necessary for me to have to stop, with andrew's increasingly obvious but highly subconscious mistrust and hatred of everything that i did causing me to become increasingly more unstable and unhappy. history.

But maybe the horsepower on desktop/server(small to medium size) coupled with new tech in manufactoring cheap disk drives has pushed market to the point to adopting HTTP protocol/web server to replace file servers through adopting a new approach such as WebDAV among other new immerged standards,

SMB is a royal mess.

with such a legacy protocol as SMB, whilst that may be the aims and ultimate wishes of anyone who has had to be involved with SMB that it die as soon as is humanly possible, the interdependence in windows is such that it will take about a decade or more for it to die - _once_ viable alternatives are all in place.

SMB has been around in one form or another since the 1980s, and it gets constantly tinkered with.

remember also that SMB is not just a filesystem, it's also an authenticated transport for Inter-Process communication (IPC$) - yet another "interface" point. it's also a "discovery" system based on NetBIOS (another interface point) which is like a combined Dynamic DNS, self-managing DHCP, on top of which there is a really good peer-to-peer publishing system (the network neighbourhood) - the list goes on.

thus rendering Samba a deadhorse of bridging system resources among Windows vs. Unix.
i sincerely hope so, and in fact yes, that's been the aim of the samba group - to do themselves out of a job. the SMB protocol _really_ has to die.

.... _but_... there is more happening here than just filesystems and IPC systems and the components that rely on it.

wow, cool., posted 13 Apr 2004 at 20:56 UTC by lkcl » (Master)

tk, i take it all back. from tom's hardware guide on windows to linux migration

Alias has ported their popular Maya 3D animation and special effects software to Linux. Another company Sidefx, has made their famous and very expensive Houdini software available for Linux. Don't be fooled though, both programs still cost money.

two down, two err... thousand? to go... :)

Another example: xfree86, posted 15 Apr 2004 at 09:46 UTC by lkcl » (Master)

here's another example: XFree86 which has changed the license recently.

the XFree86 project has very clearly defined interfaces - e.g. access to video cards.

the XFree86 project has made it impossible for open source projects to "interoperate" with the latest video card drivers, because their latest license is incompatible with open source licenses.

this does not matter.

step 1): request license to interoperate with latest XFree86 video drivers.

step 2): receive license or receive "go away" message or don't receive anything. if receive license, everything hunky-dory.

step 3): perform trivial reverse-engineering step from documentation, treating source code of header files as documentation.

step 4): compile up "new" drivers under EXISTING license with a "wrapper" system like the one used by FreeDCE in the libdcethreads library (libdcethreads and FreeDCE have incompatible licenses but that is not a problem).

step 5): modify and compile up "old" Xfree86, to link with "clean-room" wrappers that will load "new" drivers from step 4).

step 6) produce a .rpm or a .deb with the "old" Xfree86 in the open source category and the "new" drivers in the nonfree category (or equivalent in rpm terms if you're bothered)

simple, straightforward, and it circumvents the license restrictions and incompatibilities.

at no point have any licenses been ignored, invalidated etc.

caveats: work must be done by someone inside the EU, and you MUST make that initial request, to demonstrate that interoperability is "not available by any other means".

in most cases (Xfree86 being an exception), the copyright holders will be so numerous that it is unlikely that an alternative license could be granted. THAT IS NOT AN EXCUSE. you MUST still make the request.

it is also important that you not violate the license agreements of the code being distributed (bearing in mind that "interfaces" are exempt from copyright and therefore will not be covered if you can demonstrate that the licensees are imposing anti-competitive practices on you).

in other words, in the example above with the XFree86 thing, if by creating a .deb and/or .rpm you then do not provide the full source code, if the licenses of both the "old" and "new" XFree86 require it, then you will be in deep doodoo.

by providing full source of both, you will be conforming to both licenses, and are therefore covered.

Wine, Crossover and Codeweavers, posted 21 Apr 2004 at 07:22 UTC by mikem » (Journeyer)

    consequently, it _is_ freely available, you _can_ modify it for commercial purposes, and in fact two companies have done so.

    * CodeWeavers * TransGaming

    One of these companies specialises in Crossover Office - which has improved Wine's Win32 API in the area of printing / screen driver "emulation" and other parts.

    Crossover Office is, however, now quite old, and although it is a heck of a lot faster than Wine in some areas, it lacks some of the newer functionality of the latest version of Wine.

    The other company has specialised in DirectX 8 and 9 - their product is called WineX. it works, it's great. i doubt very much that it is capable of running Microsoft Office, though.

    so due to the size of the massive undertaking of the Wine team, we now have _three_ versions of Wine, two of which are proprietary and highly unlikely to ever meet.

Luke, Codeweavers is using Wine under the LGPL, and is probably the most active contributor to the WineHQ branch. The source code to our version of Wine is available, and differs very little from WineHQ, excepting for some hacks to make things work that Alexandre will not accept into the main tree.

I work for Codeweavers, but you can check this simply by browsing the commit log. Transgaming are using the old X11 based tree, so are not obliged to return their changes to the LGPL licensed WineHQ. It was Codeweavers that pushed for a LGPL license on Wine in the first place.

thanks for the correction, posted 25 Apr 2004 at 13:59 UTC by lkcl » (Master)

thank you for the correction: however the issue remains the same - that any project with an incompatible license cannot "interoperate".

therefore, where such interoperability is not possible, the authors of code effectively forfeit any copyrights to "interfaces", if the people wishing to interoperate follow certain rules and the authors of the code cannot or will not cooperate.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page