Closed Source On Linux and BSD? 526
An anonymous reader writes "I want to start (very small) software/hardware business. The code in question will be closed source. I won't modify or use any GPL code or any 3rd-party sources. It will be my own handwritten C/C++ code from start to finish. I am planning to sell embedded-like boxes with an OS (Linux or BSD) and this code. I am more familiar with Linux but I am scared a little bit of Linux licensing, and also of Linux fanboy-ism: I personally got a 'go to hell with your @#$ closed code' slur on Slashdot. I am not a GPL guru and not a software freedom fighter. I just want to do my job and make a living." Read on for this reader's five particular questions.
My questions:
1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?
2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
3. Can I obfuscate my code (e.g. encode it)?
4. Could I be forced to publish this code by some 3-d party?
5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
not to disparage, but (Score:5, Interesting)
Your code will be closed source? Fine, I don't have much of a care about such, dig out, I plan to do a game, and that will be closed source at first. But your planned software will run on linux, and that gives rise to the problem.
Just say your project proves popular. Well in that case the chances are very high that you will find yourself in competition with an open source equivalent, either existing or created specifically because your software revealed a new need.
You need to look closely at the closed source rationale. It can work, but not everywhere. You could be beaten to a pulp by a small group of co-operating people out to do better then you. There have been some successes with closed software on embedded systems, but those have been heavily invested in, with lots of developers.
Bunch of daft questions (Score:1, Interesting)
If you include pre-compiled libraries you need to abide by the licenses.
If you DON'T include code or use pre-compiled libraries, you don't have to agree to a license.
So, given these three truths (that are part of COPYRIGHT, not GPL or BSD or even MS's EULA), the answers are:
1) If "it" doesn't include adding the GPL code in to your project, then yes (no license needed so irrelevant question)
2) The GPL (and LGPL) don't allow static linking: it becomes one piece of code and you must open the source. This is basic copyright again.
2b) if you *dynamically* link, then that still isn't allowed by the GPL without opening the source code, but the LGPL only requires you to open up the source for the LGPL'd library (and any changes you made to it to make it work in your project).
NOTE: If you use MS's runtime libraries, you must agree to the EULA and licensing terms of the runtime libraries. The user of your product must ALSO agree. Your issue is only whether the terms of the license are acceptable.
3) As long as you aren't including others code, go for it. Though since you can keep the code secret, why obfuscate?
4) No, but you can be forced by a third party to either abide by the license of the code or not to use it if you decline.
5) BSD will still require that you keep the notice. If you don't, you can be forced to open the code, be fined for using the code, required to remove the code or whatever the owner of the code you are infringing on requires and can get a court to agree to enforce.
Only #1 and #2 have anything to do with BSD or GPL. And, you may want to consider this: since your code is combined with the BSD, the combined work is under the BSD. Now, you don't *have* to release that code but if I get a copy of that code (a derivative of BSD code) then I can argue access is granted under the BSD to that code. So with BSD you can be opening yourself up to loss of all your work gratis to a competitor if they can get hold of your code. If you used the GPL, your competitor will have to do free bugfixing and enhancement of your code if they wanted to use it.
Can we mod this article, "Troll"? It's obviously a "BSD is Best" troll.
Re:Why closed? (Score:3, Interesting)
This assumes two things:
1) The complete package is worth more than the code.
2) You don't sell it exclusively to potential competitors.
In these cases, it should be possible to make a living out of it.
Re:Legal advice (Score:1, Interesting)
Slashdot may be full of geeks, but many (true, non-poseur) geeks DO know this stuff.
Re:Actually, won't help anyway (Score:3, Interesting)
Re:Even so, (Score:2, Interesting)
Re:In Response to Your Questions (Score:2, Interesting)
And do BSD based distributions indemnify you against patent claims?
If not, there are still reasons to fear.
Research here, advice there (Score:3, Interesting)
Slashdot is a forum for legal research, not legal advice. So is Groklaw. The point is to get the legal research out of the way so that you don't have to pay an attorney to pay his paralegals to do it. Then you show the research to the attorney, and checking the references that Slashdotters provided goes faster than doing the research from square one, saving the project money.
Re:Answers (Score:4, Interesting)
Re:Answers (Score:3, Interesting)
As long as 'intellectual property' remain implemented as legalized monopoly rights, for a private entrepreneur there really is no hiding on the sidelines trying to ignore the legal and political issues.
Re:Hardware gives you a leg up, though in that cas (Score:2, Interesting)
If I had a software house, I wouldn't base my business off the code I just downloaded from someone else's FTP and of which I do not know anything (e.g. I am not contributing to). What would happen if something breaks or there's a bug? Or if the customer asks some extra features (cause, with big companies, it's what _every_ customer does, in my own experience)?
I would be royally screwed, the customers will be pissed, demand back his money, I would fail.
IMHO, if you are a small shop, you should try to focus on providing services rather than products.
The problem with the normal product development, these days, is that you need a huge initial investment, that you're going to get back into it only in a long time span, and that you also need a huge marketing effort to convince people they need the features you offer (look at Apple, where they rebrand everything they do as completely revolutionary).
Selling services, as hookers have known for centuries, is just a way more sane business model.
Uh, guess what (Score:3, Interesting)
Interesting question (Score:2, Interesting)
But at the same time I do have to earn a living and I have decided to take one of my previous open-source projects and enhance it with the purpose of selling it. The original version will remain freely available, only the new one will be closed. I know I do not run afoul of any of the licenses since the only library I use is libc, everything else in my projects are my own libraries, but at the same time over the years I have benefited from the open source model (not financially, but availability of a solid platform and development tools) and I feel that I have given much back in that I have distributed most of my software on an open-source model. Would I still get the evil eye from the OSS world under this circumstance??? What is the opinion if most of my software is open-source and 1 or 2 projects are not???
1 acronym - IANAL (Score:2, Interesting)
a) who's feet i might tred on
b) if my project really is GPL'able
c) how i release it in such a way as to make it GPL'able.
Its really quite hard to comprehend. As an example, i had a project that i wrote that combined a nice firewall gui with a bunch of projects of various licenses. It had QOS, load balancing, routing and alot of other features with software provided by a tonne of other projects. I wanted to release a binary image (iso) of it, and then release the build code. This is where i got very lost. I eventually decided that i'd release the code i'd written without any of the code from the other OSS projects plus the binary iso and as part of the INSTALL for people who wanted to build the project they'd have to download the original source themselves, put them into the tree and hit make.
But i didnt cause i didnt know how right or proper it was to release any of this, and i wasnt in a position to take (or even want) money for it, which resulted in one thing - i abandoned the project. Even more frustrating, i didnt even know where i could turn to find out how to do it aside from "ask slashdot".
Re:Hardware gives you a leg up, though in that cas (Score:2, Interesting)
Add to that duel licensed libraries. Last I heard Trolltech was still in business.
The GPL does not mean you are giving away your source code, it means you are charging the right to see changes in return for your code. So....
Service: I charge one person for my code, and frankly release it under BSD if you are thinking Give it Away, GPL if you want to see improvements back.
Hardware: I'm not charging for my code, but I very much want to see improvements back... go GPL. (iRex iLiad, asked the community for calibration code, most of their own under GPL).
Duel License: I either want money from people not willing to publish their changes or changes from people not wanting to give me money.
And there is probably some other method of making money while still publishing code under the GPL that I haven't listed. The trick is to remember that GPL code is not code given away, its code sold for changes in return, a barter. Saying that GPLing code is giving it away kinda misses the whole point of the GPL.
Back to the poster. The GPL isn't as bad as it seems to cash development. Like I said, you are not giving your code away, you are asking for something different back. Be very clear over who will give you money and what they want.
What is left for professional engineers to do? (Score:2, Interesting)
On the other side we have free open source OSs with free open source development tools. People who have spare time write open software so that anyone with enough money for a computer can get a working OS and some application programs and enjoy computing.
What is missing here is something in the middle where people who have committed their lives to software engineering can write useful software, make some money, and survive in a world where it takes money to live. I remember when their were a dozen commercial Unix versions we asked for a unified API so that we could write software that would just run. I am truly sorry that Java wasn't it. I am sick to my core that Microsoft says .NET is it.
It is great that RMS (and other people) worked hard and their is an alternative to Windows and SCO Unix/Xenix. While RMS was busy making sure there would be some free software, he made very few allowances for how motivated skillful people could write software and distribute it, and profit from their knowledge, skill, and efforts.
I have never pirated source code in my life and I have worked for hundreds of companies as a consulting engineer. I don't need to hide my code to hide unethical behavior. But around the time people started talking about reverse engineering as a legitimate competitive engineering technique, I fell of the cabbage cart and couldn't keep up with what they were thinking. Over my career, I have bought dozens of proprietary language compilers for various operating systems. That was how I worked for thirty years. It was a required tool of the trade. If I want to write a unique contemporary software product, and sell it to assure my financial stability in my old age, it is very unclear how to do that any more when the big players have patent portfolios, and the small players insist on an open software world. RMS says programmer's art should belong to the world. To the best of my knowledge, he has plenty of money, so he figured out how to leverage the marketplace and make a living. I am not a devious businessman who knows how to leverage everyone to make a fortune. Just a hard working engineer who solves technical problems one at a time for people who have problems.
I am clinically depressed about the current state of the computer industry, and my pride of being part of an unfolding technological society has faded as my talents and experience become worthless in the current marketplace where saving a few dollars on engineers results in technical jobs being sent offshore, and marketing costs are so high you have to sell the majority interests out to make a visible mark in the marketplace. When I started programming, hardly anyone even knew what that was, and I thought I hade found a good niche. I read that soon there will be a billion personal computers. I guess that means there will be some part of a billion people who think they are programmers cluttering up the product space too.
Things have really gone to hell. Bill Gates is the richest man in the world. Computers are so cheap that they aren't worth fixing any more. People expect that they should be entitled to all the software they need for free. I know that releasing your hobby code into the free software world is a good way to let people see how smart you are. I don't know what else to say, and that's saying something. I usually have something to say about everything. Douglas Goodall (Internic nicname DG223) SNMP Private Enterprise number 204, goodall.com domain registered in 1991. Started on 1620s and 360/20s. Worked at arpa host #1 network measurement center.