×

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

Thank you!

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

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

Abstract Programming and GPL Enforcement

CmdrTaco posted more than 14 years ago | from the stuff-to-think-about dept.

GNU is Not Unix 219

Headius writes "Through events of the past couple months, I've ended up as the lead developer for the Litestep project, a several-year-old effort to write a GPL'ed shell replacement for Win32 platforms, for use in place of the standard Explorer shell. Current efforts involve a large rewrite of existing code and a complete refactoring of core services. Part of this new architecture is the abstracting of services to simple interfaces. Unfortunately, several other developers have brought up concerns that the hard work they put into developing the implementations of these interfaces (which will not have any dependency on Litestep-specific code) will be silently stolen by other (closed-source) projects in the cutthroat shell replacement arena and elsewhere. Is there any real way to protect GPL'ed code that has no interdependencies and abstracts away all the implementation details (as good OO code should)? I'm not as concerned about license violations as some, but how do I put the other devs' minds at ease? "

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

219 comments

Chatching Cheaters (3)

coaxial (28297) | more than 14 years ago | (#1327516)

When I saw Mad Dog at LInux World (Chicago Comdex) last year someone asked him this very thing. His answer was quite insightful. Basically said:


I was an educator before I started doing what I'm doing now. I've seen people cheat. Why do they do it? They're too lazy to do the work themselves. Now if you're lazy, are you actually going to take the time to covertracks right, or are you just going to do a halfass job?

If it looks like someone has stolen something, people are going to look at it, watch what goes in and what comes out, figure out what is going on, and then eventually call the theif on it. It's just like any other company enforcing patent or copyright infringement.

Sun-Blackdown thing (3)

twit (60210) | more than 14 years ago | (#1327538)

The Sun-Blackdown debacle had nothing to do with the merits of the GPL. Blackdown was developing under the Sun Community Source License, which lies nowhere near the GPL and could be liberally translated as "please develop software for us, then let us sell it."

If Blackdown is a bit saddened and deceived by the whole affair, they could have seen it coming. Sun was entirely within its rights through the whole thing. It also took advantage of Blackdown, but the business world exists on principles of bad faith and this is no exception.

--

copying interfaces? that's what linux did to unix (0)

Anonymous Coward | more than 14 years ago | (#1327539)

there's a bit of the pot calling the kettle black here. don't forget that 99% of what got linux off the ground was copying the semi-standard interfaces that all the proprietary Unix's spent time and effort developing.

Re:The real remedy for GPL... (0)

Anonymous Coward | more than 14 years ago | (#1327540)

Most civil law suits and court cases come down to money.

Courtroom scene:
Plaintiff: they use my GPL code in their closed source code
Defendent: yes we do
Judge: Mr. Plaintiff, what is your lost revenue due to this theft?
Plaintiff: $0.00
Judge: I rule for the plaintiff in the amount of $0.00.

Re:"cutthroat shell replacement arena"? (0)

Anonymous Coward | more than 14 years ago | (#1327541)

Shells in the Win32 sense replace user interface stuff in the windows GUI, like the start menu, taskbar, tray, and desktop.

Some places to look for info are:
http://www.chunkymunky.com
http://www.desktopian.org
http://floach.pimpin.net

Re:"cutthroat shell replacement arena"? (1)

tweek (18111) | more than 14 years ago | (#1327542)

He is refering to explorer shell replacements.
If you go to skinz.org I would say a third of the links down the right side are themes for alternate windowmanagers for windows. Litestep was one of the first and probably one of the most popular.

Re:How can companies use GPL without being infecte (2)

fatboy (6851) | more than 14 years ago | (#1327543)

[1] Does compiling proprietary code with gcc make it GPL? How do you know which libraries are okay to link in (if any)?

Nope, ever heard of the LGPL??

[2] Does including some GPL tool with your proprietary package put the *whole* package under GPL?

Nope, just make sure the tool is a seperate program and your distro method complies with the GPL.

[3] Does using GPLed software to write *nix drivers for some piece of hardware mean that the the hardware specs/design have to be made "open" now?

Nope, see [1]

Re:You Can't--That's the problem... (2)

elsam (137198) | more than 14 years ago | (#1327544)

It seems obvious to you that your "simple economics" is correct, equally obvious to others that it is directly opposed to common sense.

I make no judgement one way or the other.

But I do want to point out that your example is very weak.

Even to the extent that the lack of software development in China is related to the strength of "intellectual property" controls there, it can not be considered in isolation. Perhaps if they did not have all that marvelous software to import and copy from the USA, they would write their own, even in the absensce of IP enforcement.

Also; it is far from clear that the reason for Chinese people on average produce very little computer software isn't simply that they don't have the kind of pervasive computing infrastructure that we in North America enjoy. Something like >50% of American homes have at least one PC in them. I doubt China can make the same claim.

The analogy to barriers to entry in heavy industry also fails. "Historically", if what you suggest is true, there has been no barrier to plagiarism. What you describe is a barrier to production. Software is different in that it is being treated as a product, not a means of production.

Re:Can you DO that? (0)

Anonymous Coward | more than 14 years ago | (#1327563)

Recent: I wanted to use a few Sun Java libraries in writing a GPL'd frontend for an IMAP client. RMS told me this was not allowed -- even dynamic linking is covered by the GPL.


If this is really true, then GPL really is one crappy, worthless piece of a license. I guess it's time to switch to something that is REALLY open, like BSD.

GPL == Open Source? Bah, what a joke!

Re:no real way (2)

aetius2 (96018) | more than 14 years ago | (#1327565)

Warning: I've been reading the injunction against 2600, so I'm in sort of a legal mood, but IANAL. So, some interesting thoughts:

Could the GPL be used as a legal lever to open up all source code? Probably not, since I would think that you would have to show "probable cause" to obtain a court order to examine the offending code. What sort of evidence would constitute that "probable cause"?

Any software company would clearly be in violation of the GPL if they re-licensed part or all of a GPL'd piece of software. How does one define "part" of a software program? Is there a certain level of granularity where code becomes generic? I mean, you can't copyright the if-then-else format -- or can you?

Isn't one of the points of the open source movement to improve coding techniques and code quality? Following that line of thought, wouldn't one be at least a little happy if Microsoft (for example, I've nothing against Microsoft) included some code in their product that was known and solid? How far are we willing to go with subverting proprietary code in order to further the open source movement? I mean, by the theories we all hold dear, eventually the proprietary code would fall behind in development, and Microsoft would be forced to update, again using the open source software. As new functionality is added, it would be easier for Microsoft to just use the related open source programs rather than write their own, thus furthering the quality and "known" aspect of their products, probably to the point where most of their product was taken from open sources. Now, that would be in direct conflict with the GPL (assuming Microsoft continued to sell their products under a restrictive license) but how "bad" would that actually be for developers and the world as a whole?

Aetius

As always, flaming, diatribing, thoughtful commentary, and logical destruction of my position is welcome.

Re:copying interfaces? that's what linux did to un (1)

zempf (4454) | more than 14 years ago | (#1327566)

This is a different issue, though. He's saying that the interface elements are GPL'ed and he's worried about some company "acquiring" the GPL'ed code and using it for their own needs without giving any recognition to those who originally developed it. Linux may have effectively copied the UI of Unix, but there was (AFAIK) no code stealing involved. If there was, you'd know it, since the source is open. In this case, if a company takes the GPL'ed elements and packages them as their own, who is to really know without the source being open? Sure, there may be suspicions, but unless a court case is brought against the company, I can't see them showing you the source code to prove that it is/isn't stolen.

-mike kania

*smack* (cluestick) (2)

RelliK (4466) | more than 14 years ago | (#1327567)

The GPL seems pretty ill-equipped to deal with this type of code 'piracy'. (I think the whole Sun-Blackdown situation pretty much showed that.)

Get a clue! The JDK that Blackdown is working on is NOT licensed under GPL. It is licensed under Sun's license which basically means Sun can do anything it wants.

The rest of your argument is similarly bogus.


___

You've got it backwards (3)

nowan (4075) | more than 14 years ago | (#1327568)

I don't think he's concerned about other people writing modules for litestep. It's the people who write (GPL'd) modules for litestep who are concerned that their code will be apropriated for use in a non-GPL shell replacement. Evidently the problem is made worse than usual because the modules have a very general interface and could (presumably) trivialy be integrated into another shell replacement in a non-GPL way.

Anyway, since I'm posting anyway, I'll put in my $.02. Knowing that someone else has stolen your GPL code could be very difficult. If you know, though, you can take legal action. One option would be to sign the copyright over to the FSF, in which case they will take responsibility for bringing violators to court.

Re:"cutthroat shell replacement arena"? (0)

Anonymous Coward | more than 14 years ago | (#1327569)

There are closed source shell replacements, which I am assuming is the thing he worried about. I think it is called Icesphere or something...
I use Litestep. I lose some IE tricks, but I can live with that, since I use Netscape/Mozilla mostly. And this doesn't have a Start button. That makes me more happy than any other part.
I honestly think people wouldn't mess with the code, and he only has to look to the previous occurence where they thought someone was selling it without the source code.

Anonymous to test.

GPL is not the issue. (2)

Shoeboy (16224) | more than 14 years ago | (#1327570)

It doesn't matter if your code is under the GPL or under the MS EULA, the problem of detecting whether someone has taken your code is the same. If they swipe your code, parts of the resulting binary might be bit for bit identical. Greater similarity could probably be found in the output of a disassembler. Talk to a lawyer if you find this.
If the thief is a large software company, the odds of someone revealing the theft are probably quite high due to the large number of people who will look at the code. In the world of windows shell replacements, it's a lot harder since the teams are small and the software is (lets be honest here) extremely trivial. (not a flame, I've used litestep and it looked cool and all, but it didn't have 1/1000th the impact on my productivity that the cygnus win32 port of bash did.)
--Shoeboy

Piracy not the cause (0)

Anonymous Coward | more than 14 years ago | (#1327571)

When was the last time you heard of a piece of *free* software developed in mainland China? I can't think of any, even though piracy issues don't apply to free software at all.

It's pretty obvious why we don't see a lot of software coming out of China: the people are poor (and can't often afford computers) and the government wants to discourage independent sources of information such as the Internet. Piracy has nothing to do with it.

Re:'Stealing' materials... (2)

locust (6639) | more than 14 years ago | (#1327592)

The GPL seems pretty ill-equipped to deal with this type of code 'piracy'. (I think the whole Sun-Blackdown situation pretty much showed that.)

Only, I don't recall the code given to blackdown everbeing GPLed. I believe the terms of the license said it could be used by Sun @ any time. And they took it.

On a more general note, I can't really think of any way to tell (absolutely) if your code has been stolen, provided its been embedded deeply enough. With something like an IP stack, you might be able to tell because an implementation responds precisely the same way as your piece of code, and may or may not have the same control structures. One thing I found pretty funny was looking in C:\WINNT\SYSTEM32\drivers\etc to find a hosts, and services file, for the first time and wondering which *nix got its code into NT.

So in the end you either have to have someone with the source, who knows its been grabbed, or you have to test the offending software looking for the same performance/functionality signature as your piece of software. Having the same flaws in the ip stack would be an example.

--locust

Re:no real way (0)

Anonymous Coward | more than 14 years ago | (#1327593)

We could always resort to using geek unity in boycotting products that violate the GPL license.

Re:Can you DO that? (1)

samantha (68231) | more than 14 years ago | (#1327594)

If something is meant to be used as a component or library then it should probably be under LGPL rather than GPL. Particularly if that component or library is designed and intended for wide spread use and replacement of proprietary code doing a similar job.

Has primarily a systems/infrastructure hacker, I want my code to be used maximally, to be build upon, and improvements to its based to be shared. But it is not my mention to try to tell people how to license their own software that might call mine as a component.

The Java IMAP example is sort of strange. Who would use a component that they cannot use freely as a component?

Re:I don't see how you can (1)

sh_mmer (63202) | more than 14 years ago | (#1327595)


GPL is not free. public domain is free. also, check out my .sig.

sh_

Re:"cutthroat shell replacement arena"? (1)

Dr. Jest (10116) | more than 14 years ago | (#1327596)

"Shell" has a much different meaning here than it usually does in Unix. Litestep and its competitors (Geoshell, EVWM, Darkstep, etc.), as well as the Windows Explorer, are more like the "desktop shell" the the Enlightenment guys are talking about.So we're not dealing with CLI shells, but alternative GUIs for Win32 platforms, mostly inspired by different window managers for X. There's more information at floach.pimpin.net [pimpin.net] and Tin Toys [pimpin.net] .

You can, but you probably don't want to. (3)

Anonymous Coward | more than 14 years ago | (#1327597)

(Disclaimer: IANAL, and I'm in the UK).

I'm going to argue wrt UK law, but US law (at least in some circuits) is pretty similar, if a little more developed.

It is perfectly possible to protect interfaces (especially APIs) in the way you suggest, and I don't see why the GPL shouldn't allow you to enforce that protection, though it would probably be easier if there was an explicit notice about APIs and other interfaces being covered.

Relevant cases in the US include (he said, reading from his lecture notes :-)) Whelan Associates vs. Jaslow Dential Laboratory Inc. (3rd circuit, 1986), and in the UK Ibcos Computers vs. Barclays Mercantile Highland Finance Ltd (1994).

That said, actually claiming this protection is problematic: protectable expression is subject to a number of tests, and there are several ways in which the defence can argue that the expression they copied isn't protected (including functional expression in the US, but not in the UK), in addition to the inevitable problems involved in showing that copying took place.

Having said that, my advice (though IANAL, and this isn't legal advice of any kind, just my opinion) would be not to bother: relying on emerging concepts in IPR is a high-risk strategy to start with, you're unlikely to want to sue anyway, if you do the damages aren't likely to be high (the defence is likely to argue that since you gave your software away, you have incurred no loss by their action - it probably won't fly, but it might make the judge think), and it's bad manners for the OS movement as a whole to look at commercial interfaces (eg. to lex and yacc) and copy them, then sue the commercial world for copying our interfaces.

However, the biggest reason that you probably don't want to go for this sort of protection is fairly simple: if you protect your interfaces like this, you have to admit that other people can too: a decision in your favour would set a precedent that things like the Win32 API can be protected (so all Win32 programs need to be licenced by Microsoft - there are defences to this which we won't get into, but it's probably going to be ugly even if they are made out). It would also mean that, for example, drop-in replacements for pretty much any library would need to be licensed, and that wouldn't be pretty at all - the GPL'd Qt clone and Lesstif would be two fairly obvious casualties.

In my view, this whole idea of non-literal copying applied to computer programs is a disaster and should be removed by legislation (the EU directive on the protection of computer programs starts to do this, but doesn't seem to go far enough). Encourage it, and one day (probably fairly soon), you'll be the one being sued for writing Hello, World.

This isn't "insightful".... (0)

Anonymous Coward | more than 14 years ago | (#1327598)

the author doesn't even clearly understand the issue at hand...

Re:"Derivative works" is fuzzy & hard to Detect. (2)

Ian Bicking (980) | more than 14 years ago | (#1327599)

So someone could read your code, see a nifty idea/algorithm, and use it with impunity.
I don't think the GPL really tries to protect the ideas or algorithms. That's the sort of thing software patents address, and I don't anyone wants to propose that sort of solution.

Copyright pretty much protects the code itself, not the underlying idea behind it. It protects the expression -- you aren't violating copyright when you copy a plotline, after all, just when you copy the expression of that plotline.

Thank goodness -- or else all sitcoms would be horribly mired in copyright law.

Re:You Can't--That's the problem... (1)

samantha (68231) | more than 14 years ago | (#1327600)

I thought part of the great goodness of open source is not needing to reinvent the wheel. We can see/use the code and get a tremendous leg up. Personally I don't care if the leg up is for a competitor that is closed source or not. I still don't want to see a thousand stupid rewrites of some piece of code.

I agree that a serious question about open source is what it will do for and against innovation and the impetus to innovate.

This sounds too much like an API copyright. (5)

Bruce Perens (3872) | more than 14 years ago | (#1327621)

This sounds too much like an API copyright. Free software licenses protect the implementations, not the interfaces. We'd be very angry at anyone who protected an interface from our implementing it in free software. It has to work the other way, too.

Thanks

Bruce

Re:Can you DO that? (1)

blue (2742) | more than 14 years ago | (#1327622)

No one is forcing authors to put their code under the GPL. If they wish to put their code under a "crappy, worthless piece of a license" then that's their decision. Personally, I wouldn't want people using my open code in closed source software.

Re:This isn't "insightful".... (1)

SEWilco (27983) | more than 14 years ago | (#1327623)

The original article can be interpreted several ways. My insight was based on people replacing modules with compatible proprietary ones. I'll reply separately to the other thread about stealing modules.

Catching and enforcing (2)

Col. Klink (retired) (11632) | more than 14 years ago | (#1327624)

Catching perpetrators using your code in closed-source programs is, admittedly, difficult. As for enforcement, if you assign the copyright to the FSF they will (and have) take legal action *if* you find violators.

You have to assign the copyright to FSF for them to have legal standing in any infringement case.

Yeah, fixem... (0)

Anonymous Coward | more than 14 years ago | (#1327625)

It's my firm belief that the days of closed source software are numbered. The only real way to fix the closed-source pirates is to ensure that the open-source solution is better. Hopefully, eventually, gpl(ed) software will put nasty companies like M$ out of buisness. The only other way I can think of is to have a law firm try and go violators on behalf of the FSF. I think everyone would agree that this is mostly against the spirit of free software.

NO! You've got it backwards (2)

348 (124012) | more than 14 years ago | (#1327626)

Way non-GPL a in replacement shell another into integrated be trivially (presumably) could and interface general very a have modules the because usual than worse made is problem the Evidently. Replacement shell non-GPL a in use for appropriated be will code their that concerned are who litestep for modules (GPL'd) write who people the it's. litestep for modules writing people other about concerned he's think don't I.

Court to violators bringing for responsibility take will they case which in, FSF the to over copyright the sign to be would option one. Action legal take can you though, know you if. Difficult very be could code GPL your stolen has else someone that knowing. $.02 my in put I'll, anyway posting I'm since, anyway.

I actually agree 100% with your post. Just didn't want to post a "Me too" post. I know (Score:-1 silly)

Never knock on Death's door:

Re:This sounds too much like an API copyright. (0)

Anonymous Coward | more than 14 years ago | (#1327627)

That's what they said, they're worried about their implementation of the interface being copied in a closed-source competing project. Their implementation doesn't rely on Litestep-specific code, so the implementation + interface could be lifted out and used by closed-source projects.

Part of this new architecture is the abstracting of services to simple interfaces. Unfortunately, several other developers have brought up concerns that the hard work they put into developing the implementations of these interfaces (which will not have any dependency on Litestep-specific code) will be silently stolen by other (closed-source) projects in the cutthroat shell replacement arena and elsewhere.

Re:You Can't--That's the problem... (0)

Anonymous Coward | more than 14 years ago | (#1327628)

When was the last time you bought (or heard of) a piece of software developed in the PRC?

Since I live here in the States, there isn't much a possibility to see such software considering that it'll probably be in Chinese (which I know very little of). However, if you do a detailed search on the 'Net, you could find some floating around. To add to the argument about innovation, I recall a statement made by a Thomas Edison who said something along the lines of "There is no more inventions to be invented." While it is possible that some Chinese coder could write something unique for the programming world, it is more likely that his Western counterparts will release something similar before he does due to economic/computing advantages.

Re:The real remedy for GPL... (0)

Anonymous Coward | more than 14 years ago | (#1327629)

Right, so the way to do it is this:

Plaintiff: they posted my closed-source code on their website!
Defendant: But it's legal, because I can prove that the closed-source program incorporates GPL code, and therefore is itself covered by GPL.
Judge: Plaintiff's code is ruled GPL and freely copyable. No damages.
Plaintiff: Damn, there goes my revenue. Next time I'll pay attention to the license.

Re:The real remedy for GPL... (2)

Frank T. Lofaro Jr. (142215) | more than 14 years ago | (#1327630)

Well you can elect to receive statuatory damages in the amount of anywhere $200 to $100,000 depending on willfulness of the offense, etc. See 17 USC 504. Also see the rest of 17 USC Chap 5. You can recover attorney's fees, get their stuff impounded, confiscated, subject to remedial modification and/or destroyed. And you can get injunctions filed against them. The proprietary camp uses all of this against us. We should go on the attack and use it against them. It would be great to see Open Source as the plaintiff once, instead of as a defendant. You can read the US CODE at http://www.law.cornell.edu/uscode/ [cornell.edu]

Re:How can companies use GPL without being infecte (2)

mindstrm (20013) | more than 14 years ago | (#1327631)

This is something people keep saying. The GPL DOES NOT in ANY WAY *FORCE* you to release your code.

What it does say is that if you *DO* want to release your code that includes GPL code, that you MUST abide by the GPL. IF you cannot or will not, you simply cannot release it. IF you had already released it, and realize that it wasn't legal, you must stop releasing it. Period.
Nothing will put you in a position of forcing you to release your code.

Re:You can't protect an API (1)

Zico (14255) | more than 14 years ago | (#1327632)

This is the way of free software. Many windows programmers have not yet made the context switch from proprietary software [...]

Yeah, they still harbor crazy ideas like actually making a decent living by getting paid for their coding efforts. Vee must crush zee capitalist peegs!

Cheers,
ZicoKnows@hotmail.com

Re:'Stealing' materials... (1)

-alex- (21515) | more than 14 years ago | (#1327633)

Perhaps Orville was trying to state that a company can steal someone's code and basically say that it is the company's product. This is what Sun did initially (before the Blackdown people and /. got a hold of them).

If GPL'd code is stolen with a little more cunning (ahem, M$) and not just blatantly ripped off, then there is no easy way to find out.

good idea (4)

Corrinne Yu (121661) | more than 14 years ago | (#1327634)

// Good Thing

The brief description appears to be Very Good Thing. It shall increase the number of applications and games on more OS's.

If it becomes phenomenally successful, your participants would have been instrumental to some large positive contributions to application spread.

Would this "historical" motivation be suficient? :)

// GPL is the only way

The precise reasons why all the commercial cross-UI projects fail / fall short is ...

The only way such a layer can be constructed is through GPL.

There are too many platforms, each of those platforms upgrades (downgrades :) ) too quickly too often, too many new devices popping out too fast.

Any commercial limited-man team (versus the infinite manpower of GPL code resource) shall eventually be outstripped.

GPL is the only chance for a successful implementation of this.

I myself am looking forward to it both as user, and as coder.

Don't even think of anyway to "protect" commercial interests. The moment any part of it becomes "closed" (even in the form of "cannot be modified until after inconvenient beureaucracy") would hamper or destroy this project.

You shall succeed where commercial apps precisely and only because of open-ness.

// Commericial : higher level applications

How do you protect yourself against higher level applications (like games, database applications) that co-opt your code *freely* to provide our commercial applications with your functionality?

1. Credit and Appreciation

We commerical users of GPL code shall do what we always do. Accord code authors and groups with proper credit. Demonstrate our appreciation with thanks.

2. Donation

We commercial users shall thank you, after your code module demonstrates sufficient robustness, by donating actual development budget, to further fund your work.

There is precedence for this, and I do not suspect we shall change.

I shall watch your project very closely, and if I do see many other commercial developers or peers making good use of it in the future, I shall personally goad such peers into donation. :)

The same speaks for me. If I personally find your code base highly helpful to my commercial projects, I shall contribute what I can, even non-financially, to ensure the continual growth and support of your group.

// Commerical : lower level implementations

How do you protect yourself from commercial developers of low level layers?

The answer is you don't have a thing to worry from them. :)

1. GPL

That you are GPL and open, and they are closed and have limited manpower, shall easily cause your product (if organized properly, and if sufficient good code is contributed) easily to become technically superior and robust.

As I exposit above, there is no way any commercial company can keep up with all the versions of all the platforms. It shall bankrupt their payroll before this happens.

You *are* at a technological advantage.

2. Free or Pay

What if they just *copy* your layer verbatim and sell it for a profit?

As my understanding, this is exactly what GPL or Free Software is about! People are free to make profit off the code.

How shall your coders protect yourself?

Easy.

Be available to offer good friendly support to "users" (most likely higher level developers like us).

As *competitor* with the above commercial plagiarizer, you are already at an advantage:

1. Your product is free. Theirs cost money.

You are winning on the cost / price competition.

2. Your product can potentially have better technical support than theirs, if you do it right.

You have the resource of the original coders of the modules to support application developers.

They merely have plagiarizers or interpretors. Or a phone technician who did not even work on the code.

You actually have a better chance of this *protection* than Linux.

The average user or target market of Linux are lower literacy non-coders who need a lot of hand-holding ( and all the users who don't belong this category are already using Debian and not Red Hat :) ).

The target market or user of your layer are high level application technology literate commerical coders like myself, who are "easier" to support.

The scope of what you need to answer or help, would not run as wide a gamut as an entire Operating System.

// Project Scope Suggestion

I have been thinking the same thing on a much smaller scale for a very small subset of OS services that are needed by most game applications.

If this project is early on, may I suggest a smaller scope of Operating System Services?

In fact I can submit you privately a short spec of a small handful of *essential* functionality.

Besides the obvious personal bias that I am a commerical game developer, there are some gains for you as well:

1. A completed small project is better than a non-completed larger entity.

If done modularly and correctly, such completed small project can easily be grown and extended to its final ambition.

You can get to your technical proof of concept quicker. Ensuring both momentum and success.

2. Test Bed

By building your first iteration to a set of common functions, that already have quite a few applications waiting to ride on top of them, you have the fastest means to a nice group of users.

This again helps to smooth out kinks, track down bugs, proof in the pudding, kind of feedback that is hard to get by writing a "lower layer" in a "user-less" vaccuum.

// Disclaimer

Your site had been /.'ed. I could not get not on the site to review the project's technicality and specification.

The above is only based on what I can guess from your summary. Apologies to any misunderstanding.



Linux Contains Microsoft Code!! (4)

cburley (105664) | more than 14 years ago | (#1327635)

I can't really think of any way to tell (absolutely) if your code has been stolen

In fact, it's easy to tell whether Linux contains code written by Microsoft!! The "strings" command outputs "printable" strings it finds in a stream of (binary) data; "/proc/kcore" is, in most GNU/Linux systems, a file that represents the current state of the kernel's "core", or RAM; and "grep" outputs lines containing the string on the command line that it finds in its input.

If you try the command below under Linux, you are asking for a printout of all strings containing "Copyright 2000 Microsoft" found in the your computer's RAM -- which includes the Linux kernel itself!

And, on my computer, which runs Red Hat Linux 6.1, it prints out plenty of lines before I interrupt it with Control-C!! Try it!! Doesn't it show that Linux contains W2K code?

bash$
strings /proc/kcore | grep "Copyright 2000 Microsoft"

Copyright 2000 Microsoft

Copyright 2000 Microsoft

Copyright 2000 Microsoft

Copyright 2000 Microsoft

(Yes, this is an old trick. ;-)

Re:The real remedy for GPL... (1)

Lamesword (14857) | more than 14 years ago | (#1327636)

Plaintiff: they posted my closed-source code on their website!
Defendant: But it's legal, because I can prove that the closed-source program incorporates GPL code, and therefore is itself covered by GPL.
Judge: Plaintiff's code is ruled GPL and freely copyable. No damages.
Plaintiff: Damn, there goes my revenue. Next time I'll pay attention to the license.

I don't think it works this way. The defendant could be found to be in violation of the copyright on the GPL code, but that doesn't automatically GPL all the code involved; it just means that whoever distributed the concoction is in violation of the GPL. This can be fixed by GPL'ing all the code involved, or by removing any GPL'ed code from the product, but the decision to GPL a piece of codes lies with the owner of the copyright on that code. (The defendant could still be liable for damages, even if they do straighten out.)

Re:Can you DO that? (2)

blakestah (91866) | more than 14 years ago | (#1327637)

Of course the GPL is valid. It merely requires that all dependencies are standard shipping parts of the operating system, OR are GPL'd,

This was one of the original complaints about KDE. The KDE was claiming to use the GPL, yet QT was not GPLd and was NOT a standard component shipped with the operating system.

In any case, a shell for windows can and has been written and GPLd. Bash exists for windows, for example, as well as a host of other GNU software such as emacs (not microemacs which is NOT GPLd).

You are misreading GPL (3)

mindstrm (20013) | more than 14 years ago | (#1327638)

It does not state that code is GPL'ed automatically.. it states that IF the modified code is released, it must be released under the terms of the GPL.
It is still possible for someone to a) release the code and b) have a bad license on it, one that the GPL forbids. It is then up to the copyright holder(s) to deal with the legalities, as the user has violated their license agreement (the GPL).

Repeat.. this does NOT mean that code is automatically GPL'd because it includes GPL. It just means that it can only be legally distributed under the terms of the GPL.

OPEN SOURCE OO (1)

Anonymous Coward | more than 14 years ago | (#1327653)

natalie portman is hiding in a room full of old ibm mainframes. open source man is trying to locate her.

open source man: you cannot hide forever, natalie.
natalie portman: i will not be open sourced.
open source man: give yourself to the open source community. it is the only way you can save your friends.

natalie portman strains to contain her thoughts.

open source man: ah yes, your thoughts betray you. your feelings for them are strong. especially for... sister. so... you have a twin sister! now your feelings have betrayed her too. gates was wise to hide her from me. now his failure is complete! if you will not be open sourced, then perhaps she will!

natalie portman jumps out from behind a mainframe, wielding a can of mace. she begins beating open source man back with it.

natalie portman: noooooooo!

natalie portman sprays open source man in the face with the self-protection spray. he crumples to the ground, holding his arm out to protect his face from another attack.

natalie portman is crazed with the power of open source.

esr cackles evilly as he steps down from his platform toward natalie.


esr: good. good! your open-sourcedness has made you powerful. now, release your sexuality and take open source man's place at my side.

natalie looks down at the fallen open source man, breathing heavily as his sinuses sting from the mace. she harkens back to her youthful obsession with a hot young actor.

natalie portman: never. i'll never turn to the open source side. you failed your highness. i am closed source, like open source man before me... err, something.

esr: so be it, closed-source girl. if you will not be open sourced, then you will be bludgeoned with the open source sausage!

esr grabs a giant sausage with a taxidermied gnu's head mounted on the end of it. he begins to beat natalie with it.

esr:hot young actress... only now, at the end, do you understand! you have paid the price for your lack of vision!

esr thrashes some more... open source man shakes off the mace.

esr:your feminine young hotness is no match for the power of open source!

esr beats natalie again. open source man pulls himself to his feet and stands next to esr.

esr: and now, young portman, you will feel the full wrath of the gnu!

natalie portman screams in horror as esr thrashes her harder.

natalie portman: aaaargghghghghgh! open source man! please! help me!

open source man looks fondly open natalie's writhing frame. he looks at esr. with a final surge of passion for the hot young actress, open source man lifts esr over his head and carries him to the window. open source man tosses esr into the blackness of night, but not before esr gets several good whacks in with the open source sausage.

open source man collapses to the floor. natalie portman crawls over to him and holds his head gently in her arms...



thank you.

I've got it backwards (2)

SEWilco (27983) | more than 14 years ago | (#1327654)

Yes, people stealing GPL modules for use in proprietary shells would be improper. But as GPL source is open, it is susceptible to such theft. There's not much you can do other than make sure each module is clearly labeled as being under the GPL, and even then it won't matter as a criminal is not stopped by laws.

Later you can scan commercial programs for the fingerprints of your routines (sequences of code, etc.), but at that point you're trying to do law enforcement rather than prevention. If you're keeping records of how much time was spent on each routine that may help set a price/damages for any court case, but here we're wandering in the nebulous world of what may be decided at the stroke of a judge's pen.

Re:You Can't--That's the problem... (1)

Analog (564) | more than 14 years ago | (#1327655)

Something like >50% of American homes have at least one PC in them. I doubt China can make the same claim.

Actually, the last statistic I heard said that only about 1% of the Chinese population had ever seen a computer, let alone had access to one. A good point to consider.

include a hidden trigger (4)

konstant (63560) | more than 14 years ago | (#1327656)

There is no remedy for you through the GPL, but if you ever expect a remedy through the courts, you will need proof of plagiarism. As I imagine you don't have the resources to hire lawyers who could force a disclosure of the hidden code, you need a mechanism that would allow you to prove copying with only a released copy of the proprietary software in hand.

What you need to do is include a highly obfuscated trigger in your code. When a series of complicated and rare actions execute through code, a trigger message is displayed proclaiming "This code written by ABC and licensed under the GPL". That would be irrefutable proof of copying.

I believe the legal criterion to establish plagiarism is replicated *errors*. Another option is to include an intentional but, again, very obfuscated bug in your code. Either method should demonstrate beyond doubt that their product is based upon yours.

-konstant
Yes! We are all individuals! I'm not!

Re:Litestep? (1)

Mutok (102249) | more than 14 years ago | (#1327657)

I think that the Litestep interface is a quality way to ignore a little bit of M$ from the bowels of your HD. There are reasons (however few) to not use Linux or another open operating system, and Litestep provides an innovative way to run win32 applications. I think it is refreshing to see someone developing open source sofware without keeping their mind focused solely on Linux. I know that things that are new and different can often be denounced in ignorance. Anyways, does Linux need another shell?

I worked for a company that did this (3)

Hieronymous (80899) | more than 14 years ago | (#1327658)


A few years back I worked for a software company that wrote mostly Windows specific network application software.

Well, I know for a fact that they would just take most of the MIT X server code and incorporate it into their X Server product (To be honest, I don't know how/why/etc. they did this because I wasn't in that software group and I really didn't care at the time). But their DNS server was definitely almost entire BSD code...file for file...except for the source files that implemented the UI and the Windows Service interfaces. There were probably a few more applications that had this crap in it too but those were the only ones I saw for sure during my tenure with them.

Nobody ever said or asked anything about their practices as far as I know so unless you go out and actively look for things that might be yours not too many people are going to care to look for this. It really sucks since you put in all the effort and then some schmuck that runs a sweat shop programming company makes money off of you. If anything, that's what would burn me about it happening.

===============
"All I ask is for a chance to prove that money doesn't make me happy."

Re:I've got it backwards (1)

SEWilco (27983) | more than 14 years ago | (#1327659)

Actually, open source is also a trap for thieves. As the full code is probably available in machine-readable form, a thief is more likely to steal it whole. This makes the stolen code easier to identify than if the thief was looking at the code, such as in a book, and while retyping it was tempted to tinker with the implementation of the algorithm. A lazy thief will just steal code. A license violator may go to the trouble of understanding the algorithm and rewriting part of it (although even a line of original GPL code is enough to keep it under the GPL).

Barriers to production (3)

John Murdoch (102085) | more than 14 years ago | (#1327660)

"The analogy to barriers to entry in heavy industry also fails. "Historically", if what you suggest is true, there has been no barrier to plagiarism. What you describe is a barrier to production. Software is different in that it is being treated as a product, not a means of production."

I'm not suggesting, I'm stating. And yes, historically, it is true--there is no barrier to plagiarism in intellectual property law. The whole point of the patent system is to encourage plagiarism. The concept is called "derivative works."

For example, suppose that you come up with a better method for stamping sheet steel (this happened in the 1920s). I've been working on the same problem, but taking a much different approach. I read your patent application (which is public information) and the lightbulb goes on--I have the solution, and my new solution is even better than yours. I rush to the Patent Office and file a patent. The world, recognizing a better mousetrap, beats a path to my door. I get rich--but because my patent depends upon yours (and identifying those dependencies is part of the patent process) you get rich too. You and I get rich--but society as a whole reaps an enormous benefit. Since we've improved metal stamping technology automobiles can now have enclosed bodies and still cost less to build. Aircraft wings can be assembled from stamped parts, rather than be hand-made from wood and fabric. Consumer products will drop in price--a whole cycle of economic activity will take place due to our technological innovation. (True fact: simultaneous innovation in cold-rolled steel and steel-stamping technology was one of the very few pieces of good news in economics in the 1930s.)

My point, which I think you misunderstood, is that even if someone were to try to plagiarize an invention without licensing it, typical barriers to production effectively prevented it. I know how ABB's continuous casting process works--so what? I can't set up a continuous caster in my back yard. With software there are no such barriers--if you have the source code to Bank A's consumer lending software you can easily sell a consumer lending solution to Bank B without ever getting caught. (In fact, many consulting companies do this all the time--they write a solution for a client, then sell the same solution to the client's competitors.)

Without intellectual property protection (which is what the GPL amounts to) there is no legal recourse to somebody plagiarizing your code. That was my point.

Re:I don't see how you can (0)

Anonymous Coward | more than 14 years ago | (#1327661)


Agreed. These debates over GPL, what you can and cannot do, are getting increasingly tiresome. The license is obviously too complicated, and no one really knows how it should be handled.

Public Domain seems to be the only way to go. I enjoy coding as an intellectual and creative challenge and if someone can find my code useful, then let them! The GNU utopia just gets really boring really quick.

Woah there, lads. (2)

Makali (13158) | more than 14 years ago | (#1327662)

If your "plugin developers" (as they could be construed as being) are concerned about their plug-ins being used as parts of other programs, then they only have to withdraw the GPL on them. It'd suck, but if they really don't want to let their source code fall into bad hands, then they should just lock it, obfuscate it, encrypt it, or whatever. Just because LiteStep is GPL, that doesn't mean that all the add-ons have to be GPL too. Right?

Even a limited license could be applied to certain parts of the code. Then again, it seems to me that your developers are missing the point - either they want to benefit the open-software community or they don't! You can't say who can and who can't look at your open source-code simply because you don't like them. The GPL is a double-edged sword - like any kind of freedom it can be used for good and bad alike.

On the subject of stealing portions of code for proprietary (closed-source) software. There's not a lot you can do to prevent it, because you can't check the source without "probable cause" and a warrant or something. However, surely if someone "steals" portions of your code, they've taken a part of a good piece of software and (presumably) are now charging for it. What's the average consumer going to do when faced with two software packages (one open-source and free, and the other costing $xxx)?

It just sounds a bit to me like your developers don't want other people to make money from their own software without them getting any of it - this may sound fair enough, but isn't RedHat making a tonne of money selling a distro with your latest GPL toy?

Re:Piracy not the cause (3)

John Murdoch (102085) | more than 14 years ago | (#1327663)

"When was the last time you heard of a piece of *free* software developed in mainland China?"

Which means that software innovation in China isn't happening. But is it because all of the Chinese are poor?

(Been to China lately?)

India has significantly greater poverty than China--but India has a booming software industry. (Just consider how many tens of thousands of Indians are in the U.S. on H1B visas.) Why is software innovation booming in India, but not in China? (And why, for that matter, is software booming in Taiwan, which forty years ago was poorer, and which has zero natural resources?)

This is Macroeconomics 1A material--intellectual property rights are the basis for technological innovation, which is the basis for economic growth.

Copyright: damages (1)

Lamesword (14857) | more than 14 years ago | (#1327664)

Judge: I rule for the plaintiff in the amount of $0.00.

IANAL (who is?), but copyright law isn't that simple. Yes, loss of profit is considered when deciding how much the plaintiff is entitled to. However, profit on the part of the offender is also considered. So if a commercial company ripped off some of your GPL'd code and made money off of it, you could get money from them. More info about copyright damages. [fplc.edu]

Also, even if you aren't awarded damages, the infringer has to stop distributing the product derived from your code (until they get all of your code out of it), which provides a strong incentive for software companies to not "pirate" GPL'd code. Even if they thought they could eventually win in court (which I hope they couldn't), the possibility of an injunction against the distribution of their product would likely deter them from trying it. Does this sound right to other people who are familiar with copyright law?

Simple note. (2)

nevets (39138) | more than 14 years ago | (#1327665)


only about 1% of the Chinese population

hmmm, 1 billion Chinese, 1% of 1 billion == 10 Million. That's still a lot of people! ;-)

Steven Rostedt

Don't steal stolen code! (0)

Anonymous Coward | more than 14 years ago | (#1327666)

Before you steal GPL'd code, you'd better check to see whether the "GPL'd" code isn't stolen/derived from someone elses licenced code! How much of the GPL'd code out there can honestly be said to be original? 'cat', 'ls', etc., are even spelled like licensed code.

Re:You are misreading GPL (0)

Anonymous Coward | more than 14 years ago | (#1327667)

(original poster): Interesting. So it sounds like the legal remedy would be to sue the closed-source company after all, to force them to either GPL their code or remove your GPL code. Posting their code would be rather risky.

As a closed-source developer... (2)

Christopher Bibbs (14) | more than 14 years ago | (#1327668)

Open Source is like a drug. Once you use it (legal or otherwise) you'll become dependent on it if it's any good. And if you use the code in your project, you'll probably never fork the work because if it was too hard to develop in the first place, you're not going to maintain the thing on your own.

Worst case scenario? The shell never catches on, but the interface does and eventually becomes its own project. C'est la vie!

lawyers, source, and dangerous things (4)

xeno (2667) | more than 14 years ago | (#1327669)

Others have said parts of this, but let me try to put them together:

Sure you can sue someone for taking your GPL code and incorporating it into a proprietary package or system. It's not stealing; you can't pursue that avenue. It is a license violation, and you could sue for that. But even better would be to take the resulting proprietary product, decompile it, and post the code publicly with specific documentation that it is now GPL code itself.

Some thoughts about this:
- The company will surely try to sue you and/or get an injunction. But then again, you were thinking about spending time in court anyway suing them, and you can surely countersue for costs and time lost. If you did your homework documenting that the code is a derivative of yours and that you were entirely within the bounds of the license that they adopted by using your code, you stand a good chance of having the case thrown out.
- By releasing their GPL code for them, you expand the market for implementation and support services. Since it's a derivative of your code, you stand to benefit from it because you're more familiar with the code. Therefore it's mostly a good thing.

This underscores the critical requirement for the legality of reverse-engineering. If click-licenses take the essential right to examine what you have purchased away from you, you have lost the right to know when or if you have been violated as a consumer or as a competitor. That's a completely unacceptable state of affairs: Imagine you buy a car with a 2.5L engine and the mfr puts a clause in the purchase agreement that licenses you the engine when you purchase the physical media of the frame and body -- and precludes you from disassembling the engine to see if they really gave you a 1.9L HO engine for which they stole the design from a competitor. It would be ludicrous, yet we accept the same arrangement in software. Why is Ferarri not worried that Chevrolet will steal their engine designs? Why are architects ok with giving their innovative structural designs to the public records office at City Hall? Why doesn't Makita worry that Dewalt will reverse-engineer their new compound-slide saw and put out a derivative work? Because these are all in mature enough industries where people realize that there's already ways to prevent misappropriation of technology (in the current legal context) without placing onerous legal restrictions on the consumer.

Not to defend them, but one can obtain patents to protect novel algorythms and innovative software. Why hide code? For example, why doesn't Microsoft publish the source for Word and sue the hell out of anyone that inappropriately uses it? One would think that the best way to defend a patent would be to openly establish ones' work as prior art by publishing the source just as every car comes with an openable hood.

Jon

Your Xenophobia is Showing (2)

Arandir (19206) | more than 14 years ago | (#1327670)

you're concerned that someone might *USE* your code? That can only be what it is, otherwise just put it under the GPL and no one can take modifications private. Geez, you're using Bill's code but you don't want him using yours...you are such a model of even-handedness.

If your abstraction code is so abstract that it doesn't need modifications to be used elsewhere, yet so useful that you fear people might use it, then it must be pretty cool.

Just let people use it. Share your code with the world. Be magnanimous with your creations. Cast off your xenophobia and fear of outsiders, and let people outside of your tribe partake of your labors.

no real way (2)

Judah Diament (113966) | more than 14 years ago | (#1327671)

when it comes down to it, there is no case law regarding inforcing the GPL, and even if there would be, there is no magical way to detect violations. You just have to watch the market you're in and hope you'll spot obvious violations.

For all we know, there's Linux kernel code in the Win2k code. Can you prove there is or isn't? No way!

No, and there shouldn't be (2)

Anonymous Coward | more than 14 years ago | (#1327672)

It sounds like what you're saying is that you want to design an interface and make sure that everything built to conform with that interface has to be open source. I don't think there's any easy way to do that, and I don't think there should be; interfaces ought to be public domain.

It's Open, Stupid. (4)

SEWilco (27983) | more than 14 years ago | (#1327676)

It's an open interface. It's designed so others can interface to it. You can't stop it. You really should be asking how to embrace it.

You could produce a manual which clearly describes the components and interfaces, and get a tiny income by selling it to that handful of developers who will be creating new modules.

You could make what you're supplying so good that nobody will want to replace it.

You could encourage replacement of components and focus on providing good parts for those components. Such as assuming that your user interface isn't the best, but you've decided that you're just making a user interface which is so flexible that it will be tuned by others to do what they need.

to GPL or not to GPL (1)

unstableboy (130235) | more than 14 years ago | (#1327679)

It looks like you may have to come up with a new kind of "open" licence. or maybe GPL *some* of the code and not the stuff developed by others. Is there a license that allows open source but still keeps propriatary software protected... and if not how the hell can we do this. --Unstable

Close source your code (0)

Anonymous Coward | more than 14 years ago | (#1327685)

Why don't you not use the GPL distribute binaries instead? Your problems would be solved.

Closed source is the way to go (0)

Anonymous Coward | more than 14 years ago | (#1327686)

If you are worrying about others profiting from your code, why don't you just make sure YOU are the one that profits from it?

As a software engineer, I am appalled that some people are willing to give their code away for free. I work very hard, and I get paid a large amount for my work. Why would I give it away for free?

Other Slashdotters will hate me for saying this but look at Bill Gates: he developed closed-source software and is now one of the most powerful persons in the world. Now take a look at ESR; what does he have? Well, not much.

Remember kids, I comes before U in the alphabet. First my profit, then your convience.

Oh well, back to writing my closed source code. :)

Re:You Can't--That's the problem... (3)

John Murdoch (102085) | more than 14 years ago | (#1327687)

Thanks for your comments.

First, the question of China and intellectual property. This is a settled question in the history of economics: there was no such thing as intellectual property protection before the mid 1700s in Britain. The development of intellectual property protection--specifically the monopoly rights to your creation--was the basis for the Industrial Revolution. The nations that industrialized early were those nations that adopted intellectual property protections (such as the U.S.). Those that did not adopt IP protection (France, the German states) were left behind. They did not begin to catch up until they adopted protections for intellectual property.

Poverty in China is no reason why there is no Chinese software industry--there is plenty of poverty in India and Pakistan, but there are booming software industries in both countries. Remember that before Ed Yourdon was crying wolf about the Year 2000, he was crying wolf about the threat from cheap labor in India. (And many of us who have worked in IT for a long time can name former clients or employers who outsourced all their programming to Indian firms.) What's the difference? India and Pakistan both protect intellectual property rights. China doesn't.

If you want to look at a broader comparison, consider East Germany vs. West Germany; North Korea vs. South Korea; Singapore vs. Malaysia; or practically anybody in Asia vs. Indonesia. Technological innovation boomed in West Germany, driving the booming economy--to the extent that the Third World War that we were brought up to expect didn't happen because West Germany more or less just bought East Germany. It wasn't a war--it was a white-knight takeover. Technological innovation in West Germany was protected by intellectual property rules, it was not protected in East Germany. Without an impetus to innovation, nobody in East Germany felt a burning desire to innovate. The same situation exists in all the other countries I listed: forty years ago there was no economic distinction between the pairs of countries I mention. The country that has prospered has done so through technological innovation. If the other country (such as Indonesia) has prospered at all, it is largely a result of the extraction of natural resources and the exploitation of cheap labor.

Intellectual property protection begets technological innovation. Technological innovation begets economic progress. You can have technological innovation without IP protection--but the record of history is brutally clear: without IP protection the rate of technological innovation is dramatically lower.

(This, incidentally, is a major part of the World Trade Organization's dialogues with the People's Republic of China. The industrialized West wants the PRC to develop strong intellectual property rights to encourage technological innovation. To many people it looks like the U.S. is trying to jail people bootlegging copies of Windows. What those people, including the PRC's leadership, don't get is that if and when somebody develops a Chinese OS that's better than Windows, Microsoft will instantly become the #2 player in the game. Way more people speak Chinese than English.)

Re:no real way (0)

Anonymous Coward | more than 14 years ago | (#1327688)

We could always resort to using geek unity in boycotting products that violate the GPL license.

Only problem is, slashdot geeks already boycott anything that involves paying money for. So how would anyone know a boycott was occurring?

Re:OPEN SOURCE OO (1)

penguinicide (73759) | more than 14 years ago | (#1327689)

If only it weren't offtopic(at least by posting i won't have to moderate it down). I found much humor in that post.

At first glance this seems like a problem (2)

Dirtside (91468) | more than 14 years ago | (#1327690)

But on further review, it's not as bad as it seems. Yes, it sucks if people steal your code and use it in closed-source software, and there's not really any way to prove that they did.

But now assume that this has happened, and let's look at what we have:

1) An open-source piece of software (yours)

vs.

2) A closed-source piece of software (theirs)

YOUR software is open-source, so it will continue to be better quality than theirs.

THEIR software is closed-source, and we all know the problems inherent in that.

So the problem is really only a moral one. Yes, it's lame that they're stealing your code, but they're not going to profit from it as much as it would seem. I don't think there's a whole lot to worry about. And, you can take solace in the fact that if people are stealing well-written GPL code, the average quality of software is increasing, which is a good thing!

So the point is, essentially, that you don't need to try and protect your code, because it doesn't make any difference whether people steal it or not, if it's already GPLed.

Re: I'll secont that moderation nomination. (0)

Anonymous Coward | more than 14 years ago | (#1327691)

Moderate it up.

Re:I've got it backwards (2)

MenTaLguY (5483) | more than 14 years ago | (#1327692)

although even a line of original GPL code is enough to keep it under the GPL

Actually I believe the legal precedent is that that about 10 LOC is about the limit for copyright protection (regardless of license).

Not about "theft" as such...(?) (2)

Ian Bicking (980) | more than 14 years ago | (#1327693)

I'm not sure, but I don't think the question was so much a matter of whether the code could be stolen right out -- that's an issue in all Free Software, but for the most part doesn't seem to be too big a problem.

The question seemed to me to be if it was possible to protect the code from being manipulated. If they have well-defined, open interfaces between everything with a high level of modularity, it might be possible for some person (but probably a company) to use many of these modules with some replaced by their proprietary modules. The product as a whole would be proprietary, though many of the pieces would not be. This would obviously be in violation of the spirit of the GPL.

The GPL does try to protect against this very thing. A GPL program cannot link -- even dynamically -- to anything less free than the GPL -- or, conversely, linking to a GPLed library can only be done by something that is GPLed. There is a (possibly dangerous) exclusion for system libraries -- but in a Win32 environment, that exclusion is obviously quite necessary as well.

It's not clear whether the GPL's protection would also would be true for other interfaces -- what is a shared library? Is a CORBA interface a form of shared library? Is it protected under the GPL? Other interfaces? I think this is the issue in question. The output of a GPLed program is specifically not covered under the GPL, but output and interface can be a fuzzy distinction at times.

Some people question whether you can protect an interface. That is, does fair use protect the use of all public interfaces? I believe the author of Ghostscript had these very same questions. You can read an interesting interview [devlinux.org] with him where he talks about these things and why he used a different license.

One thing you might do is to clarify your own interpretation of the GPL in this context. This is something Reiser did for ReiserFS -- and he got a lot of flack for it, because he was adding something the the GPL. But I think it makes sense, since Linus has made his (I think flawed) interpretation of the GPL in regard to binary-only modules, you shouldn't let that be seen as the de facto interpretation in regards to your software.

Re:Closed source is the way to go (1)

Samrobb (12731) | more than 14 years ago | (#1327694)

IIRC, Aladin has an arrangement where the latest & greatest version of ghostscript is proprietary... however, when they have the followup version to that ready for release, they release the source for the previous version under a new license (not the GPL, I don't think, though.) While this might disturb some open-source zealots/purists, it does have it's advantages - you (the publisher) have an exclusive product for a period of time, and the users eventually get the source to their current version... which gives you, the publisher, a strong incentive to release a new version that has significant features/enhancements/fixes (ones that a competent user group with the source couldn't make) in order to get the users to buy the new version (instead of the now-traditional bugfix releases that get palmed off as "major upgrades").

Re:Can you DO that? (1)

Mad Browser (11442) | more than 14 years ago | (#1327695)

I have a servlet project that's built on top of Sun's JSDK2.0 / Servlet API 2.0.

I just released it under the GPL at soma.sourceforge.net.

Are you saying that since it's linked to Sun's API, it can't be GPL'd?

--hunter

Re:The real remedy for GPL... (3)

piloteer (38596) | more than 14 years ago | (#1327696)

IMHO, while dollar values are important, they are really important in the context of opportunity cost (like everything else in economics). For example, suppose a large software company stole significant chunk of some of my GPL'd code. The fact that I decided to distribute the software for $0.00 does not matter. The important factor is that the large software company is selling it. If my code was 25% of the proprietary software and they sold 5000 copies at $50 a piece then a court ruling SHOULD look like this:

Plantiff: they used my GPL code in their closed source code
Defendent: yes we did
Judge: Mr. Plantif, what is your lost revenue due to this theft?
Plaintiff: Based on their selling price of $50 dollars a copy, of which 25% of my code is used, my lost revenue is $12.50 ($50*.25) per copy they have or will sell. (Opportunity cost being defined as the money lost by NOT selling my code). Total loss $62,500.00.
Judge: I rule for the plaintiff in the amount of $62,500.00.

At least that is the way things should work. You have to remember that in economics and law the value of forgone opportunities is just as real as cash in the pocket.

Re:Closed source is the way to go (1)

Christianfreak (100697) | more than 14 years ago | (#1327697)

Glad you know the alphabet! Too bad Bill really built his empire by bullying or buying out any compitition. I guess it doesn't matter that nearly half the internet is run on an OPEN SOURCE server package. But hey I guess we could all close source our code and continue to have the blue screen of death an no internet connectivity to speak of. BTW I get paid to write code too and I'm glad that someone can actually find the bugs and fix it and then allow me to include the fixes in the release without having to wait months and listen to denials that such bugs even exsist.

Re:Closed source is the way to go (1)

Christianfreak (100697) | more than 14 years ago | (#1327698)

Glad you know the alphabet! Too bad Bill really built his empire by bullying or buying out any compitition.

I guess it doesn't matter that nearly half the internet is run on an OPEN SOURCE server package. But hey I guess we could all close source our code and continue to have the blue screen of death an no internet connectivity to speak of.

BTW I get paid to write code too and I'm glad that someone can actually find the bugs and fix it and then allow me to include the fixes in the release without having to wait months and listen to denials that such bugs even exsist.

Re:You Can't--That's the problem... (2)

WNight (23683) | more than 14 years ago | (#1327699)

Your comparisons are very flawed.

East Germany vs West Germany...

You give all credit to the difference to their IP laws, not considering that there was modern democratic government with a commitment to industry in one country and a totalitarian government known for oppressive rule in the other.

Ditto with a lot of other countries you mention. India is poor, like China, but has a much more open government and much better human rights history.

And you also ignore the fact that the open IP systems in the leading countries give these non-IP countries a leg up. If China had all the same technology the US did, after sufficient delay to allow for copying it, then your argument might be believable.

You'd have us believe that the whole country is full of people just waiting for an idea to pounce on and steal, yet they can't arrange plane fare to send someone to the USA and bring back books of patents?

And then you point to "history", saying it proves your point. One example does not an argument make. Especially when it has holes. The renaissance started before IP laws were thought of. Much of history in prosperous countries has examples of science being funded by the government and financial concerns.

I'm not saying anything about your ultimate conclusion, that IP laws are important to development, just that your arguments leading up to them are spurious at best.

MODERATE THIS UP!!!!!!!!!!!!!!!!!!!!!!!!!!!1 (0)

Anonymous Coward | more than 14 years ago | (#1327700)

Holy smackie this was funny!

Re:Your Xenophobia is Showing (2)

sterwill (972) | more than 14 years ago | (#1327701)

I think you completely misunderstood. The article summary says Litestep is licensed under the GPL--his software _IS_ GPLed software. He's worried about other people completely and easily "borrowing" it for projects for which no source is released. Because much of his software is well-written (modular, with cleanly defined interfaces), copying the code into another application would be sufficiently easier than extracting an algorithm from spaghetti code.

--

BSD vs GPL for java (2)

Anonymous Coward | more than 14 years ago | (#1327702)

The leading EJB open source effort just went through that battle a couple of weeks ago.

http://www.ejboss.org/license.html

They favor the GPL heavily. When java is used as an OS and uses pieces of independent developed code the GPL stops short of being viral.

'Stealing' materials... (3)

Orville (104680) | more than 14 years ago | (#1327703)

The GPL seems pretty ill-equipped to deal with this type of code 'piracy'. (I think the whole Sun-Blackdown situation pretty much showed that.)

The thing I don't know: has the GPL ever been legally challenged? (i.e. has a company ever been sued for 'stealing' GPL'ed materials?) Seeming how this project revolves around a Win32 platform, I could easily imagine M$ lifting the best parts of the redesigned interface and billing them as their own. ('Freedom to Innovate').

If having your code 'lifted' is a concern, I might almost try to find some form of legal advice about this.

Another thing I've always wondered about: how does existing copyright law apply to "open" software? I remember Apple suing M$ over the use of the Win 3.x interface, but that case was settled out of court. (Any legal-type geeks out there?)

Can you DO that? (5)

Deadbolt (102078) | more than 14 years ago | (#1327704)

If I understand your project correctly, then you might not be able to release this thing, at least not under the GPL.

IIRC, use of a GPL interface, unless explicitly declared otherwise à la Linus' amendment to the GPL for Linux, generally means that the using code must also be covered by the GPL.

Historical: NeXT wanted to use gcc as their compiler, so they wrote an obj-c frontend to link to gcc statically. RMS told them that that wouldn't get around the GPL's terms, so they put the whole thing under the GPL.
Recent: I wanted to use a few Sun Java libraries in writing a GPL'd frontend for an IMAP client. RMS told me this was not allowed -- even dynamic linking is covered by the GPL.

IANAL, but you may not be able to use the GPL. This sounds like a job for the LGPL, but talking to the FSF about this would definitely be a good idea.

Cheers.

The real remedy for GPL... (2)

Anonymous Coward | more than 14 years ago | (#1327705)

...is not suing someone who violates it. Remember, GPL says that whatever code incorporates your GPL'ed code is itself GPL'ed. Therefore, if a closed-source company takes your open code, and you can prove it, then anyone can legally "pirate" the closed-source code. They are only closed until someone figures it out.

So if you want to enforce the GPL, run your decompilers, find all the closed stuff that incorporates open code, make sure you have a strong case, and post that software to the net. Then you'll get your case law...

Same problem with Java code (1)

chandoni (28843) | more than 14 years ago | (#1327706)

The same problem applies to Java code also, I think. With any case where you effectively have run time linking, the GPL does not seem to be legally violated even in cases where another closed source program depends on GPL'ed code.

Of course, RMS insists that the GPL applies even in these cases (such as plugins), but who knows if this would fly in court?

I would like to see a GPL-like (viral) license which solves this problem, and also prohibits closed source derivatives that run completely behind web servers (which don't count as distribution of the code, even though many people are running it).

JMC

How can companies use GPL without being infected? (1)

Anonymous Coward | more than 14 years ago | (#1327707)

This is the biggest PH33R that keeps more companies from using GPLed code. They don't want their code "infected" by GPL and be forced to release it.

[1] Does compiling proprietary code with gcc make it GPL? How do you know which libraries are okay to link in (if any)?

[2] Does including some GPL tool with your proprietary package put the *whole* package under GPL?

[3] Does using GPLed software to write *nix drivers for some piece of hardware mean that the the hardware specs/design have to be made "open" now?

GPL needs prominently located FAQs to address these issues tha can be understood by corporate suits. Otherwise GPL will be shunned as a matter of policy and will hurt Linux especially as in [3] above, which Linux needs more of badly (USB? Drivers for BUILT-IN laptop components? etc.)

New techniques of protecting source code. (0)

Anonymous Coward | more than 14 years ago | (#1327708)

Check the Dors AI [dorsai.org] website.

Re:Can you DO that? (2)

Arandir (19206) | more than 14 years ago | (#1327712)

That may be what most people think the GPL means, and it may be what RMS wants it to mean, however, the subject of dynamically linking to non-GPL libraries from GPL code is rather vague.

GPLv3, of course, will address this issue. It will clarify the point that dynamic or other runtime linking will not allowed with non-GPL code. This would normally not be a problem, and many library licenses have clauses pertaining to runtime linkage. However, couple this with the "viral" clauses of the GPL, and the situation becomes untenable. Hell, even viewing a javascript-laden webpage under Netscape could land you in jail! Talk about freedom!

Re:How can companies use GPL without being infecte (1)

pope nihil (85414) | more than 14 years ago | (#1327714)

if you look closely you will find that you can use gcc to compile proprietary code without fear of being forced to release it. most of the standard libraries are going to fall under the LGPL (meaning you can use them in proprietary stuff).

WAAAAAA I'm confused! (2)

speek (53416) | more than 14 years ago | (#1327716)

Could you please explain exactly what the problem was with GPL'ing code that used a few Sun Java libraries? I've seen GPL'd java programs out there, so this is very confusing.

On a slightly different note, let's say you have a proprietary library, but with an open API spec. Can you right a GPL'd front-end that uses that proprietary library? Could you distribute the whole thing, front end GPL'd, backend binary only?

I don't see how you can (4)

twit (60210) | more than 14 years ago | (#1327729)

If your code is to be stolen, it's almost impossible for you to prove it. This is an argument against all GPL'ed code, for that matter. However, there are two arguments against license violation of a GPL'ed piece: one for you, the other for those who would violate the GPL.

Firstly, there's the fact that for a freely distributed, GPL'ed work, you yourself lose nothing, those to whom you distribue lose nothing, and those who would respect your license lose nothing. There will always be freeloaders, and there will be freeloaders no matter which license you use, even a proprietary one. If you are using the GPL for the right reasons, the benefit of placing free - as in libre - code in the public sphere outweighs the irritation of having ne'er do wells use your code.

Secondly, to create a distinctive piece of software, the advantage from using GPL'ed code is greatly overweighed by the potential for legal action. A lawsuit can kill any product and even any company; the expense of a clean-room rewrite of a tainted product is so much greater than the potential benefit from using restrictively licensed code. Any corporate lawyer could make this call instantly, although I have less faith in PHB's and even less on individual coders. Still, I doubt that your prodct will be thoroughly exploited; snippets yes, the whole thing, no.



--

"Derivative works" is fuzzy & hard to Detect. (3)

redelm (54142) | more than 14 years ago | (#1327730)

This bothers me a bit too. The GPL covers "derivative work", although just how much code needs to be included to make something "derivitive" is not clear. And copyright doesn't protect ideas, just their expression. So someone could read your code, see a nifty idea/algorithm, and use it with impunity.

Detection is another problem. How are you going to know they used your code? They don't publish theirs! You could always try to figure out what compiler & options they used (but watch that EULA!], compile your code that way, and compare.
Very tough.

Fortunately, once you really think they did steal GPL code and you're willing to start a lawsuit, things paradoxically get easier. IANAL, but you have subpoena power for depositions and discovery. They will have to produce their source code, and employees will have to answer were it came from.

-- Robert

You can't protect an API (1)

wrook (134116) | more than 14 years ago | (#1327731)

I'm not sure if I understand you correctly, but it seems you are asking if you can protect the API to a library. The answer is no. You can make it so that no unGPLed code can link with your library. You can make it so that no unGPLed code physically uses your header files. But you can't prevent anyone else from re-implementing something that uses the same API as you.

However, this is the whole point of open standards and free software. Create a standard interface and *encourage* people to follow it. Some people may develop proprietary code based on it. But so what? You control the standard and your code is free. The customer has choice and that's all we care about. If you want to make sure that people don't make money off your API, just make sure that your code is better than the proprietary stuff.

This is the way of free software. Many windows programmers have not yet made the context switch from proprietary software (be it shareware or big buisiness). Give them some time.

If that doesn't work, politely explain the alternatives (either a confusing API that no-one
wants to use, or a secret API that no-one can use).

"cutthroat shell replacement arena"? (1)

ChristianBaekkelund (99069) | more than 14 years ago | (#1327732)

I'm confused about one point mentioned at the beginning of this discussion. It was stated that dvelopers were worried about their ideas beings stolen by other projects in the "cutthroat shell replacement arena"...

"cutthroat shell replacement arena"?...I wasn't aware such existed. Can someone elaborate on this, and what other Win32 shell replacements are currently being worked on, or direct me/us to a source to see a decent listing of attempts, and similar?

I know there's a Korn shell for Win32 floating around somewhere out there, but are there any others?...

You Can't--That's the problem... (4)

John Murdoch (102085) | more than 14 years ago | (#1327733)

In theory you can enforce the GPL in court--suing someone who pirates your code. In practice, you have no defense against somebody plagiarizing your code. Your team members are entirely correct to worry that the fruit of all their hard labor might be swiped by somebody and used in a commercial product.

You and I and the entire SlashDot community might argue about whether such plagiarism might happen--but the simple facts of history are brutally plain: without intellectual property protection that kind of plagiarism practically always occurs.

Example: consider the People's Republic of China. The PRC has paid lip service to intellectual property issues, but fundamentally there isn't any such thing. When was the last time you bought (or heard of) a piece of software developed in the PRC? It isn't because the Chinese are stupid--far from it. The ranks of American software firms (and the membership of SlashDot, I'm sure) are chock full of ethnic Chinese, and Chinese emigrants. But because anybody can peek at your work and swipe the results--and laugh at you while he's headed for the bank--most people decide that there is little reward for innovation. What innovation there is tends to be "protected" by some kind of secrecy scheme, or done because the innovator derives personal pleasure from giving his creations away.

This is a painful lesson to learn--but this is simple history, and simple economics. In some technologies there have been significant barriers to plagiarism (I can plagiarize ABB's technology for continuous-casting sheet steel--but unless I have $100 million for the machinery, not to mention sales contracts with Ford, I can't use their invention) but in software there are no barriers at all. If I can read your source code, I can use it. I may not copy it--I might just grasp the ideas and incorporate them in my next product design. And there is practically no way to prevent that from happening. The only way to protect the work that you have done (and to profit from it) is to seek refuge in the rules of intellectual property.

Patents (2)

MattMann (102516) | more than 14 years ago | (#1327734)

Be inventive about the features and patent the novel ideas. Hang on to the patents, and then when MS steals the code, enlist IBM's aid in fighting back

Also, have faith that in the long run, the open source version will win anyway. Think of it like forking: the main branch will prevail. Remember, Stallman started on the whole endeavor by de-closing features he wanted. It looked hopeless but it turns out it he was pulling on a thread that unravelled the whole wooly closed source sweater.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

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

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

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

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...