GPL license and European 90/EC/250 Copyright Law

Posted 23 Oct 2001 at 00:51 UTC by lkcl Share This

In creating a dynamically loaded, self-contained library, released under the GPL license, with an interface (header file) that was available from a BSD licensed package, I believe that any insistence by any individual that this makes the BSD program, which is responsibly for dynamically loading the library, is in breach of the European Community's "Interoperability" rights as laid out in 90/EC/250, and that such insistence is unlawful.

To clarify.

The program is FreeDCE. It made its way from the Open Software Foundation, originally as DCE 1.1 - the Reference Implementation of DCE/RPC. The OSF/1 , under which FreeDCE is released, is officially classified as a BSD-style, Open Source License.

The module is ntlmsspauth.so. It originated from several authors, who released that code under a GPL license. I created the header-file for ntlmsspauth from a FreeDCE example header file. The header file contains function definitions for the FreeDCE "Authentication API". This is therefore defined, under 90/EC/250 as an "Interface". Also defined as an "Interface" is the single function, rpc__module_init().

FreeDCE's job is to look into all dynamic libraries under its "wing", to load the function symbol "rpc__module_init", then to call that function. the module _itself_, from inside rpc__module_init(), does whatever-it-is-supposed-to-do-to-make-the-module-useable. In the case of ntlmsspauth.so's rpc__module_init() function, it registers a specific group of functions (that make up and conform to the FreeDCE "Authentication API") into a global table which can be used from anywhere within FreeDCE.

there are those people who would insist as follows:

"Well, you have GPL code in one directory, and BSD code in another, and the GPL code is a module, and the BSD code is a program, so it's a no-brainer, you stupid idiot: you *have* to release all the BSD code under the GPL".

now, clearly, given that the amount of GPL code is 12,000 lines and the amount of BSD code is twenty times that amount, coming in at 250,000 lines, naturally i am a little disinclined to look favourably upon such insistence.

I am interested to hear any opinions or confirmation regarding this particular issue, as I believe it may have possible ramifications for the GPL and other Open Source Licenses, should at any time a court case regarding a well-known open source program in a monopoly position of power (such as samba), ever take place.

and before you start wondering why i mention samba as being in a monopoly position of power, i'll answer it now.

samba dominates ports 139, please see RFC1001.txt, Appendix B-1, model number 1. this totally makes it impossible for anyone to implement _other_ NetBIOS services on the same host / ip address. fortunately, we don't give a monkey's about port 139 any more, we have port 445 instead, so that example is becoming less important. let's move on to IPC$, then, shall we?

over SMB IPC$ is something called NamedPipes. NamedPipes are what Microsoft chose to allow DCE/RPC to be used. _unfortunately_, samba currently includes (and i know this because i was the one that implemented it that way), its own implementation of DCE/RPC over SMB IPC$. and the implementation is very basic, and LOCKS OUT OTHER SERVICES AND PROGRAMS FROM BEING ABLE TO RUN OVER SMB IPC$.

if you are not familiar with samba as i am, and are more at home with a fictitious parallel example that may help illustrate this issue more clearly to you, imagine for a minute that this is the linux kernel we're discussing, not samba.

imagine how outraged people would be if the linux kernel developers decided that only programs authorised _by the linux kernel developers_ could run under linux.

so, if you should ever think that the scenario i outline, where a GPL-based program could not possibly end up in a court of law, please think again.

discussion welcomed here: your opinions valued.


BSD to GPL license compability., posted 23 Oct 2001 at 01:45 UTC by BrucePerens » (Master)

There are two versions of the BSD license. One with an advertising clause and one without. If the library is under the version without the advertising clause, the license is GPL compatible and you need not change anything. However, I would very strongly suggest that anyone who wants to change the BSD license on the library to proprietary not include the GPL component, because there probably would be a license conflict in that case.

If the BSD license you are using has the advertising clause, try to get it removed. It is not GPL compatible. Rather than being forced to change your program to GPL licensing, you would simply not be allowed to use the GPL component at all.

You have some misconceptions about the GPL, derived works, and I think EU law, I'll answer them in other messages.

Bruce

Interoperability rights, posted 23 Oct 2001 at 01:54 UTC by BrucePerens » (Master)

You don't lay out enough of the EU law and your interpretation for me to say conclusively that your interpretation is wrong, but I strongly suspect your interpretation is wrong. Consider this from the standpoint of a similar proprietary library. Suppose a popular program "A" uses proprietary library "B" under license and ships it as a DLL, and thus most people have library "B" on their systems. The API of library "B" is available in a published book that you can buy in a technical bookstore. The developers of program "C" don't have a license, but they know that most people have a copy of library "B" installed on their system, because program "A" is so popular. So the developers of program "C" write and distribute a program that uses library "B", even though they don't have a license for "B". The developers of "B" sue the developers of "C" to force them to pay for a commercial license.

Are you saying that the EU compatibility law would find for "C" rather than "B"? If so, please demonstrate how you come to that conclusion quoting chapter and verse of the EU law in sufficient detail that we can check your interpretation.

Thanks

Bruce

Another GPL and BSD issue, posted 23 Oct 2001 at 01:57 UTC by BrucePerens » (Master)

Linking a proprietary program to a BSD library that is linked, even dynamic linked, to a GPL program is probably a license conflict. In this case it doesn't matter that the BSD library is there, just consider proprietary and GPL together. In your place I'd write out the GPL component, if your goal is to support proprietary use.

Bruce

12,000 lines vs. 250,000 lines, posted 23 Oct 2001 at 02:01 UTC by BrucePerens » (Master)

In considering a license conflict between two works, the relative size of the works to each other makes little difference. However, you are not in general going to find yourself forced to change the licensing of any work to match the GPL. You will be forced to remove the infringement by removing the GPL component from your program.

Bruce

Samba is in a monopoly position because it dominates a port?, posted 23 Oct 2001 at 02:08 UTC by BrucePerens » (Master)

Nothing in Samba prohibits the system administrator from removing it and providing another daemon to operate on port 139. The Samba source code is disclosed, making it very simple for someone to determine all of its APIs and replace it. The APIs are also subject of a published standard. The Samba license does in fact permit the software to be modified, so that you may add additional services directly to Samba.

I think you are trying to connect this with the Microsoft anti-trust case and their "co-mingling" of the web browser with the OS. But remember that they didn't publish their source code and APIs, and it was very difficult to remove the browser from the rest of the OS and still have something that worked afterward, and it was very difficult to modify their code - there was no source and permission to modify.

Bruce

Dynamic vs. Static, posted 23 Oct 2001 at 02:13 UTC by BrucePerens » (Master)

In the U.S., there is exactly one court case regarding whether linking to a dynamic library creates a derivative work: Nintendo vs. Goloob Games. It's worth looking over if you are an attorney, but it is not definitive. I don't know of any similar E.U. case.

Bruce

What if Linux restricted what programs you could run?, posted 23 Oct 2001 at 02:20 UTC by BrucePerens » (Master)

There is a note attached to the Linux license explicitly waving any restriction on programs that use Linux only through the system-call interface. There is another note permitting proprietary modules, but only some kinds of module (it's in Linus' chapter of "Open Sources", O'Reilly press). So, Linus considered this enough of a concern that he was explicit about it. He specificaly says that some kinds of proprietary module are not OK. This is exactly what you think would outrage people, very similar to your own use of DLLs, and Linus' restriction on some forms of proprietary module has been in place for years without outrage.

Bruce

GPL is an additional "grant of copyright", posted 23 Oct 2001 at 07:38 UTC by lkcl » (Master)

i've been advised that the GPL actually conveys additional copyright, and is not actually a license, per se. for anyone interested in studying this issue, you might wish to take this fact into account.

Re: interoperability rights, posted 23 Oct 2001 at 08:08 UTC by lkcl » (Master)

hi there bruce, gosh, okay, where to begin :) thanks for responding: i think what i might do is give more clarification of points, and leave the rest for debate.

You don't lay out enough of the EU law and your interpretation for me to say conclusively that your interpretation is wrong, but I strongly suspect your interpretation is wrong. Consider this from the standpoint of a similar proprietary library. Suppose a popular program "A" uses proprietary library "B" under license and ships it as a DLL, and thus most people have library "B" on their systems. The API of library "B" is available in a published book that you can buy in a technical bookstore. The developers of program "C" don't have a license, but they know that most people have a copy of library "B" installed on their system, because program "A" is so popular. So the developers of program "C" write and distribute a program that uses library "B", even though they don't have a license for "B". The developers of "B" sue the developers of "C" to force them to pay for a commercial license.

Are you saying that the EU compatibility law would find for "C" rather than "B"? If so, please demonstrate how you come to that conclusion quoting chapter and verse of the EU law in sufficient detail that we can check your interpretation.

[okay. this is to help stop me getting headaches: let program "A" == outlook. let library "B" == MAPI. let program "C" == pegasus mail. the API for MAPI is available in the MSDN. this makes it "the developers of outlook and MAPI can sue pegasus mail to force them to pay for a commercial license". okay, now i understand.]

well the developers of "C" might actually get sued for not having software license before they even _get_ to the courts over the issue of using library "B". okay, i've re-read your scenario above: that they _can_ get the API for library "B" by purchasing a technical book. but they never purchased a license for library "B". assuming that they can do the work _without_ access to "B" and that the API for "B" is sufficient to do this, and that they are _really_ skilled developers who never have to test anything (!), then:

under EU law, then the answer to your question is that yes, under 90/EC/250 Copyright law, "B"'s access-point (API) is defined as an "Interface". therefore, the court case would be in favour of "C", as "Interfaces" are specifically excluded from Copyright protection

the document i am working from is http://europa.eu.int/eur-lex/en/lif/dat/1991/en_391L0250.html. the specific whereas clause, which is an *exception* to the "Directives" listed below it, is:

Whereas the parts of the program which provide for such interconnection and interaction between elements of software and hardware are generally known as 'interfaces`;

i presume that this covers "software-software" as well as "software-hardware" and "hardware-hardware" because 90/EC/250 relates to "programs" and therefore covers programs in hardware as much as programs in software.

if you consider this insufficient, examine the two whereas clauses above (quoted in advogato article 354) they are pretty similar.

okay. let program "A" = FreeDCE. let library "B" = FreeDCEAuthAPI. let program "C" == ntlmsspauth.so.... :)

Re: Another GPL and BSD issue, posted 23 Oct 2001 at 08:36 UTC by lkcl » (Master)

<blockquot>

Linking a proprietary program to a BSD library that is linked, even dynamic linked, to a GPL program is probably a license conflict. In this case it doesn't matter that the BSD library is there, just consider proprietary and GPL together. In your place I'd write out the GPL component, if your goal is to support proprietary use.

</blockquote>

to clarify. "The Program" is FreeDCE. It was (is) available under the OSF/1 BSD-like license. it is a run-time library set and environment, comprising of:

- an IDL compiler, dceidl

- an IDL NDR library, and if you don't link to this library you have either 20,000 loc of code to write or your program is useless

- an endpoint mapper daemon, known as rpcd.

- support libraries and infrastructure, all of which now are dynamically loaded modules.

these support libraries are not dynamically linked, they are dynamically loaded, using dlopen(). the "Interfaces" for these support libraries are well-defined - by the OSF, in FreeDCE, and they include such things as Transport Access (TCP, UDP, IPX/SPX, DecNET, NT NamedPipes, HTTP) and Security Mechanisms (Krb5; NTLMSSP; GSS-API; PKI).

[given that this is an IDL compiler and run-time environment, i would be interested to hear from people as to whether they consider a compiler's output from an IDL compiler to be proprietary if the IDL compiler is Open Source, but that's another matter :)]

anyway, moving on.

using this OSF/1 BSD-licensed runtime library and environment, we compile our "test" application (for the sake of argument, let us suppose that "test" is proprietary).

the program "test" is compiled with the BSD-licensed IDL compiler. it is linked to the BSD-licensed IDL Library and to the BSD-licensed runtime library.

_at no time_ does the GPL library get "dynamically linked" to the program "test".

_at run-time_, the BSD-licensed runtime library "dynamically loads" the GPL component "libntlmsspauth.so" with dlopen(), obtains with dlsym() and calls its "rpc__module_init()" function which initialises the "Interface" inside the runtime library such that the runtime library may access the capabilities of "libntlmsspauth.so" via the well-defined (BSD-licensed) FreeDCE Authentication "Interface".

are you saying that, because the BSD-licensed runtime library "dynamically loads" and then calls one SINGLE function and one SINGLE FUNCTION ONLY in "libntlmsspauth.so", that the BSD-licensed runtime library must be released under the GPL, and therefore the program "test" is therefore linking with a GPL program and therefore the program "test" must also be released under the GPL?

Samba is in a monopoly position because it dominates a port?, posted 23 Oct 2001 at 09:07 UTC by lkcl » (Master)

Nothing in Samba prohibits the system administrator from removing it and providing another daemon to operate on port 139.

yes, unfortunately, there _is_ a prohibition: between five to twenty man-years of development work (depending on what level you wish to provide, you could possibly get away with the minimum of five man-years of work, but you'd soon wish that you hadn't).

The Samba source code is disclosed, making it very simple for someone to determine all of its APIs and replace it.

ah, no it doesn't.

the technical level of expertise and experience required to comprehend the samba codebase unfortunately makes it, i am sorry to say, pretty much irrelevant that it's open source, leading me to compare the samba project to a proprietary project that _happens_ to be released under an open source license - and with good reason.

i would say that the ramp-up time to understanding the 350,000 lines of code in Samba makes it, without any outside assistance or understanding, approximately six months to one year before you might feel comfortable enough to make useful contributions to the samba codebase in one *specialist* area.

there are approximately *fifteen to twenty* APIs inside of samba, at varying technical levels: NetBIOS (wins, datagram, session, network neighbourhood); SMB (print, file and IPC$), NamedPipes (LANMAN, samr, lsa, netlogon, svcctl, srvsvc, spoolss) and that's _without_ even going into implementation details regarding such issues as the SMB "vfs" layer or the interactions between each of these layers and APIs.

this is why i have been advocating the "TNG" development approach to Samba, because it is abundantly and very bluntly obvious that this is one area that the open source community is failing to deliver.

excellent as the Samba project is, it's still in a monopoly position: microsoft's strategic business policy of making life difficult and complicated has made sure of that.

The APIs are also subject of a published standard.

as i mention above, the ramp-up time to understanding those APIs are simply abominable. each of them can be measured in man-years. and i had to be the idiot that first determined and then developed some of those apis (ahh, pooor me. poor _stupid_ me, more like!).

The Samba license does in fact permit the software to be modified, so that you may add additional services directly to Samba.
ah. now we come to the crux of it [and we get slightly off-topic]

so, i may modify and add additional services directly to Samba. so i must now say to people, "if you want these additional services, you must first get the source, then you must apply this patch, then you must compile it, ..." to which the ordinary person is going to say, "well, all i want is 'A Samba', and 'A Service', why do i have to go to all that trouble?" and the more discerning person is going to say, "how much has this patch been tested?".

in other words, by the samba project running exclusively on port 139 and thence IPC$ (over which Windows NT NamedPipes may be emulated) and being uncooperative in not providing full documentation and not providing reasonably APIs with which to interoperate, they are in a position of monopoly power for technical reasons _as well_ as through being the only available Open Source project of its kind.

I think you are trying to connect this with the Microsoft anti-trust case and their "co-mingling" of the web browser with the OS.
no, i'm not.

But remember that they didn't publish their source code and APIs, and it was very difficult to remove the browser from the rest of the OS and still have something that worked afterward, and it was very difficult to modify their code - there was no source and permission to modify.

i have to say that, imo, the browser / OS issue is peanuts compared to NT 4.0 and 2000 Domains, DCE/RPC and now ".net" interoperability, and it's an issue that i am EXTREMELY cross with the U.S. Dept of Justice Monopolies and Mergers about.

i just hope that the EU's monopoly case against microsoft doesn't make the same mistake.

a long answer to a short response, i'm afraid. if this was HTTP, i really wouldn't bother with this at all, believe me! HTTP is nice and simple and you can implement a simple client or server straight from the RFC and pretty much expect it to work with a few bug-fixes.

SMB and DCE/RPC you haven't a cat in _hell's_ chance of doing that, which is why there is only one popular Open Source SMB implementation and there _isn't_ a popular DCE/RPC Open Source implementation.

RE: What if Linux restricted what programs you could run?, posted 23 Oct 2001 at 09:13 UTC by lkcl » (Master)

unfortunately, the issue of samba restricting what programs can run - and it _does_ restrict what DCE/RPC programs can be run, because of its dominance and inability to cooperate, unmodified, of port 139 and of IPC$ over port 139, has not been even considered in samba.

GPL compliance, posted 23 Oct 2001 at 12:15 UTC by mslicker » (Journeyer)

Check with the FSF if you want to be absolutely certain. Just from my understanding though, if you want distribute Samba as free software, there is nothing in the GPL preventing you from doing that. The new BSD and the GPL are compatible free software licences. If you want to distribute as proprietary software, then the GPL states that this work must be reasonably independent from the GPL parts, and you must distribute the GPL parts seperately. I'm not familer enough with the project to say if this is the case.

The implications for programs that use Samba is a bit more tricky. These programs if released in a GPL incompatible way, must be reasonably independent of the GPL parts of Samba.

The main key in this is determining reasonable independence. I think the GPL is purposely vauge about this, to avoid all the technical issues about linking code in various ways. I think the intention is to be fair with respect to what is a derivative work.

Your interpretation of the EU law appears to be in error, posted 23 Oct 2001 at 13:02 UTC by BrucePerens » (Master)

OK, I looked at the EU law cited. It is mainly a permission to reverse engineer software for purposes of compatibility. In the case of MAPI, it would allow you to reverse engineer the APIs of the MAPI DLL and the over-wire protocol of it uses, but it would not give you a free license to use the MAPI DLL. If the producer of the MAPI DLL sued you for using their API and protocol, the law would protect you. If they sued you for using their DLL directly, it would not.

I'm not an attorney, feel free to consult one for verification of this.

Bruce

Samba as a monopoly, posted 23 Oct 2001 at 13:09 UTC by BrucePerens » (Master)

I think your argument of Samba as a monopoly still fails. If they were doing something to unfairly and artificially maintain that monopoly, like hiding interfaces and other details of their software, you would have a point. But the only thing that gives them a monopoly, according to your argument, is that there is a number of years work necessary to duplicate their program, and that the software internals are difficult to learn without a lot of work. Monopoly protection simply doesn't cover the fact that you have to work or that the other party has a time-to-market advantage. Those things are fair and expected aspects of doing business.

Bruce

Dynamic linking chain, posted 23 Oct 2001 at 13:22 UTC by BrucePerens » (Master)

Consider that program "test" is proprietary. It uses FreeDCE, a dynamic library under a BSD-like license. FreeDCE uses a GPL module. All three elements are effectively parts of the same program - they reside in the same address space, and the program counter is in each of them at different times to execute the flow of control of the program. So, it really does not make sense to say that the GPL module is not ever linked to the test program. The BSD-licensed element between them is not a condom that protects proprietary programs from the obligations of the GPL.

The GPL prohibits you from using GPL software as part of proprietary software, as in the above example. I think you are confusing yourself by thinking that the GPL would require you to change the license of the other code. The GPL would require you to simply not use the GPL component at all.

Bruce

thanks, posted 25 Oct 2001 at 07:42 UTC by lkcl » (Master)

bruce, mark, thanks for taking time to address this: i think things are clear-cut, and importantly, clear-cut now _to me_ :)

i'll take a look at the new GPL, as given that the existing GPL says "you may release under this or later version", if the new GPL has better BSD compatibility, that may be the way to solve this issue.

don!, posted 25 Oct 2001 at 07:49 UTC by lkcl » (Master)

mark, sorry, i thought you'd said there was a new version of gpl, no you say implications are that components must be separated. ah well. no solution to problem. solution is therefore, as recommended, a madatory rewrite of at least 12,000 lines of code, because of licensing issues. fuuun :)

Copyright doesn't control "usage" rights, posted 25 Oct 2001 at 21:42 UTC by apenwarr » (Master)

Bruce, it seems to me that you might be confusing usage rights with copyrights. In particular, when you say:

The GPL prohibits you from using GPL software as part of proprietary software, as in the above example.

...it would appear that you're incorrect. The GPL simply prevents you from _distributing_ the GPLed code in such a situation. It specifically doesn't say anything about what you're allowed to _use_ the program for. If the user chooses to link your proprietary program to a GPLed program later, it would seem to be fine; the user has obtained a proprietary program under a valid license, and may now do what he/she wants. Alternatively, in the A/B/C outlook/MAPI/pegasus case, just because pegasus can talk to a MAPI dll doesn't mean the pegasus developers need a license for it. When the user buys pegasus, if they already have a licensed copy of MAPI then they can use it for whatever they want - including pegasus. Since the pegasus developers have never touched the MAPI dll, how can they be sued for using it?

To think of it another way: what if the pegasus developers link their application to a "null MAPI" dll, with all the same function calls but all of them just stubs? Then the end user can replace the stub MAPI with the real one, and it'll work. How can that allow pegasus to be sued?

DMCA and UCITA notwithstanding, of course.

By the way, I'm not a lawyer either.

Have fun,

Avery

the only people that gain, here, is microsoft, posted 25 Oct 2001 at 21:55 UTC by lkcl » (Master)

well, i have to say that i am just extremely unimpressed. microsoft has been using dce/rpc technology since it was first introduced in windows NT 3.1, well over ten years ago, now.

since then, they have continued to widen the gap further and further, to the extent that it is now _such_ well-established technology that new microsoft employees haven't even heard of it, have no idea what it is, and there is noone left to explain it to them because they have all retired as millionaires.

so they play _exactly_ the same strategies all over again - read the halloween documents - except with fresh, new people, and fresh, new ideas.

and the open source community is left behind with their droppings, taking no initiative because there's no room for the open source community behind such a fast development rate that microsoft can command.

these GPL and BSD incompatibilities are going to continue to punish open source developers and so-called "free" projects until someone somewhere starts to get it.

Re: the only people that gain, here, is microsoft,, posted 26 Oct 2001 at 00:04 UTC by mslicker » (Journeyer)

Perhaps you could expand on how Microsoft is ahead of us.

Speaking as a user, the difference between free software and Microsoft software, is like night and day. Using Microsoft software was like being at war with your computer. Applications fighting you, the system and applications strategically crippled, random system attacks (crashes). Now that I use Debian, I can happily say my system has ceased fire.

I'm not very demanding user though. For users who are into the whole Microsoft get up, you need complete file system support to make the transition painless. That is, supporting all microsoft document formats, media, ect. That is the main thing the user wants is file system compatability.

That is exactly where I would stop copying Microsoft. Microsoft's model of software is completely different from free software, or at least how free software should be built. It is a development model forced upon them by their choice of business model. This development model consists of:

  • a system of binary components
  • a closed platform
  • closed source
In this system, binary compatability is maintained throughout all previous versions of system. This is a tremendous disadvantage compared to free software. This means the software can't change, it can only be added to. This is the same problem Intel has with its chips. The result is increasing system complexety, bugs, and bloat. Meanwhile free software can evolve, it can change with the changing use of computers.

What I think free software needs to do, and this stems out of my diary entries, is it needs to focus on building a system. Right now we use a very similar model to Microsoft, we are esentially taking our greastest advantage and throwing it out the window. What I mean by building a system, is that kernel developers should not be sepererate from library developers, and library developers should not be seperate from application developers. There should be one uniform solution space which keeps evolving around the needs of the highest level, applications. Therefore, when you are an application developer you are automatically a library developer and a kernel developer, because all these barriers and obstacles are eliminated, and you can focus directly on the solution to your problem. I firmly believe if we had a focused effort on building a system, we could be leaps and bounds ahead of Microsoft, and our community grow closer in the process.

I agree that licence issues are a pain. Free software developers should not have to deal with these, however I feel the GPL has had a very progressive effect over all.

Samba and port 139, posted 26 Oct 2001 at 00:38 UTC by alan » (Master)

Quite frankly if you think it takes 5-25 man years of work to write a tool to parse the packets to put both SAMBA and DCE based software on the same port you have a problem.

I wouldn't mind betting you can find several consultants who will happily bill you say four man years work and make a very tidy profit in the process.

For that matter you can ifconfig a second address bind dce to one and samba to another.

Re: samba and port 139, posted 27 Oct 2001 at 16:12 UTC by lkcl » (Master)

hi there alan,

i would _love_ to be one of those consultants paid for four years of work to write a new open source SMB server. and i have the advantage of knowing this protocol - the draft rfc JUST for the file-serving component is two hundred and fifty pages long - pretty well.

i realise that these are fairly extreme man-year numbers and you do not have to believe a word i say. that is _exactly_ the attitude i had six years ago that got _me_ into this line of work in the first place ["heck, this stuff can't be difficult: _i_ could do better than thaaat..."] if you know anything about NetBIOS you will be aware that it is a proxied transport [a bit like the proposed "TCP over HTTP" i heard about, a few months ago. gawd, i hope that never happens :)].

ports 137 to 139 are the NBT version - NetBIOS over TCP [137 is like dynamic-dns and is in some ways a little bit like ARP; 138 is the datagram service and is like UDP; 139 is the session service and is like TCP].

your idea of adding an extra ip address has merit, and is in fact often recommended to and by advanced administrators, especially when running different versions of samba on the same host.

the only thing is that unique NetBIOS names are fixed to one ip address.

so whilst it is a nice idea, and in fact is often recommended [to have multiple ip addresses on the same box], you must create a unique NetBIOS name per each ip.

think of it like this. with the proposed "TCP over HTTP", what would happen if that was implemented in user-space? would you recommend to people, should critical TCP-based services become proxied over TCP that people add an extra ip address, and run a new HTTP server over that?

food for thought.

microsoft ahead of the game, posted 27 Oct 2001 at 16:27 UTC by lkcl » (Master)

hi there mslicker,

i have written a number of times in various locations describing how microsoft is so far ahead, and it is far further ahead than even eric s. raymond hints at in the halloween documents. their "strategic business practice" of developing technologies that put them ahead by approximately one and a half to two years of the game is LAYERED upon the previous development.

i am focussing on the core technology - DCE/RPC - because without this it is impossible to play catch-up.

regarding being a linux user, i am happy with linux because, like you, i cannot deal with the frustration and time wasted by an OS or an application that crashes thirty times a day. more to the point, other people _around_ me can't deal with what happens to me when i am forced to deal with such contemptible software. i try to make jokes out of it, but that just makes people nervous.

however, most of the people who deal with computers on a day-to-day basis are not like you or me, they are _forced_ to use Windows. hate it or not, they know no better and no different. they are either paid to sit in front of the Machine regardless of whether it works or not, and when they get home, all their friends and all their helplines they can reach go glassy-eyed when anything but the magic word "Windows" is mentioned.

we are in the technological minority elite, boyzngirlz. there may be some nice mailing lists and projects out there to keep us occupied full-time, and this results in us not being able to see wood for trees.

we are in the middle of our own little world that has no relation to the _rest_ of the computing world, we are _that_ far advanced and therefore out-of-touch.

microsoft's policy of creating technological polarisation therefore wins BY DEFAULT! i've been in a lecture theatre where the question was asked, "why do you want to _bother_ catching up with microsoft: we [the linux developers and users] are perfectly happy with what we have" and it received an ovation!

the answer is, therefore, to help give _the other_ people [non linux developers and users] some degree of choice which we already have and take for granted.

p.s. i crashed StarOffice the other day, i just _loved_ the little dialog box that said "you _may_ be able to recover your work if you restart StarOffice" :) :)

parsing packets, posted 27 Oct 2001 at 16:32 UTC by lkcl » (Master)

hi there alan, i just re-read your statement "tool to parse packets".

okay, we're unfortunately not just talking about a tool to parse packets. parsing packets is easy and can be done in a number of different ways, and i have personally implemented at least six different packet-parsing systems over the last five years.

we're talking about the support infrastructure _behind_ that _as well_ as the packet parsing, and it comes to approximately... one million lines of code.

that sort of investment in code development you are guaranteed to be talking about man-decades.

Re: microsoft ahead of the game, posted 28 Oct 2001 at 00:05 UTC by mslicker » (Journeyer)

Don't take my comment as a criticism of Samba. I hardly know the techincal issues involved to make a valid criticism, and it seems like a positive project.

It was more of a general argument, and perhaps a very obvious argument, targeted to some trends within free software. Essentialy you can't catch up to someone by following in their footsteps, unless they are standing still.

And in the process of catching up who has defined your path? Do we really want a free software .NET? Or do we want to take the internet in a completely different direction, one that promotes freedoms and openness? Can we do a lot better techincally if we look inward and find our own strentghs, instead of blindly following Microsoft?

You are right about free software being elitest. Not in theory, but in practice. I hope that eventually we break down the remaining barriers for the wide-range acceptence of free software.

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