Slashdot Mirror


Closed Source On Linux and BSD?

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?

526 comments

  1. Answers by rilak · · Score: 5, Informative

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)? Yes 2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.) Only if it's LGPL 3. Can I obfuscate my code (e.g. encode it)? It doesn't really help, but go ahead 4. Could I be forced to publish this code by some 3-d party? Not if you do it right 5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems? You can do whatever you want with BSD code

    1. Re:Answers by Anonymous Coward · · Score: 5, Funny

      3. Can I obfuscate my code (e.g. encode it)?


      Hmmmm, maybe you could compile it.
    2. Re:Answers by Anonymous Coward · · Score: 0, Informative

      On point 2, you're incorrect. There is no LGPL 3 and you're interpretation doesn't match that of people creating libraries... see http://www.uclibc.org/FAQ.html#licensing for example. Your best bet would be to look through this list for a Linux compatible, BSD licenced library: http://www.uclibc.org/other_libs.html

    3. Re:Answers by tokul · · Score: 3, Informative

      5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
      You can do whatever you want with BSD code
      Even BSD OSes have some code licensed under GPL.
    4. Re:Answers by SLi · · Score: 5, Informative

      4. Could I be forced to publish this code by some 3-d party? Not if you do it right

      More clear answer: No.

      Even if you publish proprietary code linked to GPL code and swear you are aware of the violation, nobody can force you to disclose your code. It's a copyright violation, and forcing to publish code is not a remedy for copyright violation. In that hypothetical case the most a court would probably do is force you to stop distributing, and perhaps if it's that obvious you knew you were in violation it could order some punitive damages.

    5. Re:Answers by dedazo · · Score: 1

      if you use gcc as your compiler for the C++

      Yes, but that's irrelevant. Using GCC to compile a binary doesn't automatically force the GPL on your code. No one would use it if that were the case.

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    6. Re:Answers by julesh · · Score: 5, Informative

      2. Yes if they are LGPL. Which includes the standard C++ libraries. Some components such as the kernel also have certain binary waivers.

      No if they are LGPL. LGPL requires you to be able to update the LGPL'd license, which effectively means it must either be dynamically linked, or you must distribute your .o files and a script to link them. glibc is not LGPL, though -- it is "GPL with the libc exception" which does allow you to link an application statically against it. Check other libraries for their own terms.

      4. Could I be forced to publish this code by some 3-d party?
      Not unless a court says. Obviously if you violate the GPL you are taking a major risk of somebody finding out and forcing your code out into the open.


      This isn't an expected outcome. Nobody can force you to release your source, even if you violate the GPL. Of course you can be forced to pay compensation to the GPL developers whose IP rights you have violated, and they may be prepared to negotiate if you choose to release your source.

    7. Re:Answers by Anonymous Coward · · Score: 0

      As a clarification: if the GPL is used and if it is in effect, you cannot obfuscate the source when publishing it. The GPL reads:

      "The source code for a work means the preferred form of the work for making modifications to it."

      This is not an obfuscated version stripped from comments and helpful variable names. Therefore, if you choose to use GPL-licensed libraries you're obliged to publish the source in the version you use for editing. If you don't want to publish the source, stick to LGPL, BSD, MIT or similar licensed software. And in that case there's no need for obfuscating unless you're a sado masochistic.

    8. Re:Answers by julesh · · Score: 5, Informative

      2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.) Only if it's LGPL

      LGPL does not allow you to statically link the code. One of the terms of the LGPL requires that it be possible to make modifications to the LGPL'd code and incorporate these into the distributed program. This cannot be done with a statically linked executable (unless you're also distributing linkable object files).

    9. Re:Answers by Znork · · Score: 5, Insightful

      " '2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)' Only if it's LGPL."

      With an added caveat; you can statically link the code with an LGPL library, but _you have to provide the option for the recepient to dynamically link should they so desire_. Include an unsupported dynamically linked binary, or perhaps better, object files so the recepient can relink statically against another version (again, you dont have to support that, just provide the option).

      This is so that if the libraries are changed and upgraded, security bugs fixed, etc, the user isnt stuck having to use that particular statically linked version.

      "'Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?' You can do whatever you want with BSD code"

      As long as it's only BSD code, of course. Depending on the definition of 'BSD-based boxes', they can perfectly well include GPL, LGPL, or code under any other license. Anything you link against or in any other way include you have to check for licenses, wether it's Free, free or proprietary software.

      And of course, no matter how careful you are with licenses, you can get legally nuked when the USPTO with its usual competence level grants a patent on "putting obfuscated code linked with free software on an embedded device" (or whatever your device is supposed to do).

      You may just want to do your job and make a living, but those the 'freedom fighters' are trying to protect you from have no interest in your wishes. They want your money if you're lucky. Or they want you off the market if you're not.

    10. Re:Answers by DrXym · · Score: 1

      The original poster said specifically C/C++ which rules out the cc you get with BSD. This implies they have to use gcc or a commercial compiler. I would assume that most people would lump for gcc which normally implies using the GNU standard C & C++ libraries (or uClibc). That being so, you would have supply the source to them irrespective of whether you used BSD or Linux as the operating system. Naturally there are other C++ compilers where this would not apply, but for gcc it basically would. The library uClibc cuts out some of the crap of its big brother (localization tables, modular design for selective compilation etc.) and is also covered by the LGPL.

    11. Re:Answers by x_MeRLiN_x · · Score: 3, Informative

      '3' was the next question number..

    12. Re:Answers by Anonymous Coward · · Score: 0

      So, to summarize:
      1. Yes.
      2. Yes, with an if.
      3. Yes, with a but.
      4. No, with an unless.
      5. Yes with a but.

    13. Re:Answers by Goaway · · Score: 1

      In that hypothetical case the most a court would probably do is force you to stop distributing,

      "Open the code or stop selling your one single product" isn't a way to force you to open the code?

    14. Re:Answers by Anonymous Coward · · Score: 0

      What the Fuck are you talking about ? All BSD OS's I know of are bulit using gcc . As stated building a binary using gcc does not autmagically turn the source code GPL .

    15. Re:Answers by Anonymous Coward · · Score: 0

      Even if you publish proprietary code linked to GPL code and swear you are aware of the violation, nobody can force you to disclose your code.

      That depends what you mean by "force". Suppose they said: "If you don't open your source, we'll sue you for a bajillion dollars and shut down your business!" Isn't that forcing them to disclose their code? I mean, sure technically there's the option of going to court, but if you know you're going to lose, it's not much of an option, is it?

    16. Re:Answers by TheRaven64 · · Score: 1
      Not in the kernel, or any libraries, however. The main thing is GCC. For OpenBSD, this part of the tree contains everything in the base system that is GPL'd. Note also that a lot of the directories in here are now empty; for example sudo has been replaced by a BSDL version, and sendbug will be in 4.2.

      --
      I am TheRaven on Soylent News
    17. Re:Answers by AdamKG · · Score: 1

      "Open the code or stop selling your one single product" isn't a way to force you to open the code?
      Not in the slightest. "Open it up or stop" is incredibly far from "Open it up, period," both legally and practically. They can stop you from distributing your code if it's violating copyrights, but that's copyright law, not GPL licensing.
      --
      groupthink: It's good for self-esteem.
    18. Re:Answers by TheRaven64 · · Score: 4, Informative

      The LGPL explicitly does permit static linking. In the case of static linking, however, it requires that you also distribute your object code so that your customers can re-link it against their own version of the library.

      --
      I am TheRaven on Soylent News
    19. Re:Answers by Anonymous Coward · · Score: 0

      The library uClibc cuts out some of the crap ... localization tables

      You must be American.
    20. Re:Answers by Jorgensen · · Score: 1

      4. Not unless a court says. Obviously if you violate the GPL you are taking a major risk of somebody finding out and forcing your code out into the open.

      Wrong.

      If the customer has been given rights to the code (and you keep the code away from them), this might happen.

      But such rights cannot be granted by 3rd-party modules - only by the copyright holder - i.e. YOU.

      Basically: If you violate the license of a 3rd party module, this (by itself) will not force your code into the open. The license of the 3rd party modules do not cover the code that you write.

      But you would have to cure the violation (stop distributing or obtain a license that allows distribution) and you may have to pay some sort of damages. This would amount to Bad PR, a lighter wallet and bad karma

    21. Re:Answers by Anonymous Coward · · Score: 0

      Actually, depending on what you do, you could be wrong there.
      The developers of a hentai game recently had to release the source code of their game engine under the GPL because they linked to a GPL'ed library. So beware and read the license carefully. Most importantly, don't try to find yourself a loophole, because a) a lot of judges will not listen to arguments that begin with "But your honour, technically I only..." (this is especially important if you plan to sell your stuff outside of the US) and b) you may find future versions of the GPL closing your loophole, possibly putting you out of business and generally making your life as a programmer a pain.

    22. Re:Answers by Anonymous Coward · · Score: 0
    23. Re:Answers by frogstar_robot · · Score: 1

      Forcible opening of code is not a prescribed legal remedy. All a court can make you do is stop distributing the infringing work and (possibly) pay damages. Many OSS projects will accept opening code as a term of settlement but no court will force it on you. Settling legal cases is often a less risky move than accepting a courts judgement, hence some infringers may elect to open code rather than pay megabucks.

    24. Re:Answers by dido · · Score: 1

      4. Not unless a court says. Obviously if you violate the GPL you are taking a major risk of somebody finding out and forcing your code out into the open.

      Violating the GPL does NOT force anyone to open their code! A GPL violation is a copyright infringement, and the worst that can happen is that you get convicted for that and wind up being prevented from distributing your proprietary program altogether, and probably being ordered by the court to pay punitive damages to the FSF or whoever holds the copyright to the GPLed code that was thus violated. Of course, the FSF has been known to negotiate with such violators to change their ways and become compliant with the license, but they cannot really compel anyone to do this, as you are asserting, i.e. it will never be a punitive measure imposed by a court. If you choose not to, you can always just take the route of copyright infringement conviction and what that entails, but you are never forced to open your code.

      --
      Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
    25. Re:Answers by mindstrm · · Score: 1

      Although tha'ts 100% true, you may be surprised how many people believe this.

    26. Re:Answers by samkass · · Score: 3, Interesting

      Interestingly, Apple is working on a C/C++/ObjC front-end for LLVM so that they can do away with GCC as well. It should be possible to use and develop on an open-source BSD without any GPL code whatsoever in the not-too-distant future.

      --
      E pluribus unum
    27. Re:Answers by Arancaytar · · Score: 4, Funny

      Indeed. Select "Plain Old Text" in the list below (it's actually default for me).

      See?

      Linebreak!

      It's magic. :)

    28. Re:Answers by DrXym · · Score: 1

      No actually I'm not. I just realise that embedded systems rarely need localization stuff, or if they do that uClibc allows them to selectively compile in the stuff they actually do need.

    29. Re:Answers by mollymoo · · Score: 1

      Judges might no listen to arguments which start "But your honour, technically I only...", but they do listen to arguments which start "But your honour, according to [relevant law] I only...". Listening to those arguments is, erm, their job. Oh, and you can't retroactively apply a license. If you are using some code under GPL2 now you can use that code under GPL2 till the copyright expires (after which you can use it any way you like). If a future version of the GPL2 code is released under a new license which is incompatible with your proprietary code (say, GPL3) you can't use that new version, but it can't remove the rights to use the old version which have already been granted.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    30. Re:Answers by Anonymous Coward · · Score: 0

      Incorrect on your (see that? Four letters.) second use of "your", you wrote "you're" which means "you are". It always blows my mind that programmers who can write code with a bunch of cryptic symbols can't grasp grade three spelling.

    31. Re:Answers by ranulf · · Score: 1

      b) you may find future versions of the GPL closing your loophole

      The GPL specifies that the user can choose the apply a later revision of the GPL than was originally supplied, but is never forced to. If the loophole exists in the license with the software as you received it, you can subsequently redistribute with the exact same license. It is actually there to grant the user more freedom if a later version grants less restrictive rights.

    32. Re:Answers by a.d.trick · · Score: 1

      They want your money if you're lucky. Or they want you off the market if you're not.

      I call flamebait. They want your source code, and they want it Free. Free software has never been about money, and there are several large companies who profit off that business market. Closed source is the one that (normally) will demand money (and usually they don't care for source code either).

      At any rate, best of luck to these endeavours.

    33. Re:Answers by Znork · · Score: 2, Interesting

      Mmm, ought to teach me to write complicated sentances :). Reread it. I was referring to patent trolls and various other 'IP' parasites that the 'freedom fighters' fight. The Free software crowds may respect a desire to be left alone and just write code and support yourself, but various segments in the proprietary 'IP' business will find ways to get at you no matter what you do.

      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.

    34. Re:Answers by thogard · · Score: 2

      I've wondered if that point is invalid since no one knows what the later versions state. Paragraphs in contracts agreeing to unspecified and arbitrary terms later tends to not go over so well with judges. In the case of the GPL, the intent of the GPL can be applied to that claim maybe and I think its a big maybe.

    35. Re:Answers by nschubach · · Score: 2, Funny

      You stick to English as your primary language, and I'll stick to C.

      </Just playing> ;)

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    36. Re:Answers by marcovje · · Score: 1

      > You can do whatever you want with BSD code

      You can not misrepresent its origin.

      Note also that *BSD aren't 100% BSD licensed. Most notably, you will probably link to a LGPL licensed libgcc.

    37. Re:Answers by abdulla · · Score: 1

      Isn't that being released as part of GCC? I also remember discussions by them to merge LLVM in to GCC.

    38. Re:Answers by Anonymous Coward · · Score: 0

      It's "possible" today, and has been for some time. There are(and have been) other compilers besides GCC, but there aren't any that are open source, as stable as GCC, support GCC extensions, and support the number of targets that GCC does. LLVM's problem here is limited targets. Apple already has a "frontend" with devkit, but it is seperate from gcc(necessarily). This is why they are doing the LLVM front-end, so they can replace their devkit frontend+gcc with the integrated LLVM. This still won't be viable for the BSDs unless LLVM starts supporting more targets(Apple doesn't care about this because they only target one platform. So this work will not come from Apple).

    39. Re:Answers by multipartmixed · · Score: 1
      " '2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)'

      Wow, if you find -ll -ly more difficult to type than -ll -ly (or maybe libl.a liby.a)... then may I politely suggest a field more suitable of your intellect? Perhaps... burger engineering?

      Real programmers invented ELF binaries and dynamic linking for a reason, you know.
      --

      Do daemons dream of electric sleep()?
    40. Re:Answers by samkass · · Score: 2, Informative

      Apple had originally been working on merging GCC and LLVM. I'm not at the WWDC this week, but from what I've heard they have decided to do away with the GCC bit and write their own front-end called "clang". Slides are available in the "Using LLVM" section of this presentation. They also further discuss their OpenGL shading language front-end for LLVM.

      --
      E pluribus unum
    41. Re:Answers by dlthomas · · Score: 1

      Of course, releasing the code and getting in line with the license terms *may* be a cheaper way out of that sort of situation, and likely to cause fewer hard feelings.

    42. Re:Answers by fbjon · · Score: 1

      But why? Compiling with gcc doesn't impose any restrictions on the product. Distributing gcc and libraries isn't a problem either.

      --
      True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
    43. Re:Answers by edwdig · · Score: 1

      Using GCC places limits on how tightly they can integrate the compiler with XCode.

    44. Re:Answers by kosanovich · · Score: 1

      glibc is not LGPL, though -- it is "GPL with the libc exception" glibc is indeed licensed under the LGPL. See the following link:

      http://directory.fsf.org/glibc.html
    45. Re:Answers by Anonymous Coward · · Score: 0

      You referred to localisation tables as "crap". QED

    46. Re:Answers by QuoteMstr · · Score: 1

      He can statically link with LGPLv2 libraries as well -- he just needs to provide the object files that can be used to relink the code. I really don't think that's a big deal.

    47. Re:Answers by maxwell+demon · · Score: 1

      That's the problem with geeks: They speak a language where I love you is not well-formed unless you redefine the words, and then they wonder why they don't get a girlfriend. :-)

      --
      The Tao of math: The numbers you can count are not the real numbers.
    48. Re:Answers by Anonymous Coward · · Score: 0

      Incorrect on your use of punctuation following quotes. Punctuation always goes inside of the quote. You wrote '"your",' and '"you are".' when you should have written written '"your,"' and '"you are.".'

      It always blows my mind that nitpickers who complain about spelling can't grasp third-grade punctuation.

    49. Re:Answers by msuarezalvarez · · Score: 1

      You seem to have ignored the fact that the one who gets to choose which version of the GPL to use in case the code has the ``or later'' clause is the one who's agreeing, not the copyright owner.

    50. Re:Answers by Goaway · · Score: 1

      So in a similar vein, if I say "Give me your money or I will kill you", I am not forcing anyone to give me money?

    51. Re:Answers by Goaway · · Score: 1

      Try reading my post again, this time taking into account the fact that I am very well aware of everything you said.

    52. Re:Answers by maxwell+demon · · Score: 1

      Well, given that changing the license of the already received code has to be a willful act by the receiving party, I don't think there should be a problem. Basically the upgrade clause says "if we later publish different terms, and you like those terms better then the current one, you are allowed (not required) to switch to those new license terms. There's nothing forced upon you (indeed, AFAIU you are even allowed to redistribute the software with the upgrade clause removed, if you prefer). IANAL however, therefore I might miss something here.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    53. Re:Answers by Anonymous Coward · · Score: 0

      well, in your case, its probably the latter.

    54. Re:Answers by DrXym · · Score: 1

      Well as I'm not American, it isn't QED at all. And localisation tables ARE crap for most embedding purposes. I'm sorry if you don't understand that but perhaps you should go read the uClibc site to understand that the whole point is you can leave out the parts you don't want - locales, math and so on.

    55. Re:Answers by hedwards · · Score: 1

      Not in the kernel by default they don't. The GPL code is kept separate from the rest of the code in the tree, so that the licensing issues can be dealt with in a less complicated manner.

      FreeBSD at least doesn't include GPL code compiled in the default releases. The base binaries need to be releasable without the source for those that don't want source, and GPL would prohibit the binary only distributions if the code were compiled into the kernel or other places in the OS.

      It is somewhat onerous, but nobody has to compile it in, and those that do aren't in that much trouble. Basically at that point, the kernel would be GPLed, and as such if one were to distribute it, one would have to include the source. In practice, few people distribute a compiled kernel anyway, so it is moot in most cases.

    56. Re:Answers by nschubach · · Score: 1

      for (int i = 0; i < girl.length; i++) {
      if (girl[i].expectsGiftsOfAffection || (girl[i].isReligious && girl[i].isPreachy) || girl[i].isDiseased || !girl[i].isSizeOfBus) {
      girl.remove(i);
      } else {
      girl[i].cout << "I love you!";
      }
      }

      I keep getting a null array back... I can't even get to the line where I can output those words!! Grah! Stupid dataset!

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    57. Re:Answers by frogstar_robot · · Score: 1

      No need to be snarky. But since you were snarky first, allow me to retort: Since "forcing" one to open code is so reprehensible, the likes of Microsoft will be happy, more than happy, to make write them a very large check in addition to not distributing the work. Additionally, proprietary copyright holders have been known to accept the copyrights "and all materials pertaining to" as a term of settlement. Now why is it that if MS "forced" me to hand over my copyright (perhaps I distributed an SDK out-license) then that is just "doing business" while when FOSS projects do the same thing it is communism run amuck?

      More to the point, why is it moral and good when proprietary vendors enforce their licenses but it is the worst sort of buggery when FOSS projects do it?

    58. Re:Answers by Goaway · · Score: 1

      Since "forcing" one to open code is so reprehensible...

      You're the first person to suggest that it is.

      More to the point, why is it moral and good when proprietary vendors enforce their licenses but it is the worst sort of buggery when FOSS projects do it?

      You're the first person to suggest that it is.

    59. Re:Answers by Anonymous Coward · · Score: 0

      You don't have to distribute the source with GPL'd binaries, you just need the source to be available, and the BSD source is anyway isn't it?

    60. Re:Answers by julesh · · Score: 1

      Did you read my entire post before you posted your reply?

    61. Re:Answers by Ash+Vince · · Score: 1

      Count yourself lucky. I accidentally put ampersands before the second to last test in my code.

      --
      I dont read /. to RTFA, I read /. to offend people in ignorance.
    62. Re:Answers by julesh · · Score: 1

      Hmm. It seems to have changed recently (for some value of recently).

      See this mailing list post for a copy of it as it was a few years ago.

    63. Re:Answers by julesh · · Score: 1

      And this one suggests it still was as recently as late '05, so it seems to really be a recent change.

    64. Re:Answers by jojo+tdfb · · Score: 1

      You know, you won't segfault if you add i--; after the girl.remove(i);. You should probably also test the length of girl after that statement to see if you should buy more vasaline that night or not.

      --
      Linux is really boring from an os standpoint. Now Plan 9......
    65. Re:Answers by larry+bagina · · Score: 1

      Apple needs to support x86, PPC, and ARM (iPhone, iPod).

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    66. Re:Answers by Shadowlore · · Score: 1

      Nobody can force you to release your source, even if you violate the GPL.

      How about suing for specific action in compliance with the agreement? EULAs, for example, contain a clause that the copyright owner can force you to *destroy* your media. Suing to enforce the agreement is just as valid. The difference is it is not copyright law that applies, but contract law. In contract law, you have two remedies to a broached contract: sue to end or sue to enforce. Under contract law you can indeed force someone to abide by the agreements - which in the case of the GPL means providing code to those who are entitled to it by contract. Or you can sue for damages which is what most people do.

      --
      My Suburban burns less gasoline than your Prius.
    67. Re:Answers by Anonymous Coward · · Score: 0

      Are your mistakes any better? Two obvious mistakes I see are a sentence fragment and a repeated word.

      It always blows my mind that nitpickers who complain about punctuation cannot grasp Grade 3 grammar.

    68. Re:Answers by sumdumass · · Score: 1

      It isn't exactly proper if he ends up needing to distribute GCC on his creation but also need to procure a patent license for a driver that only covers his creating and selling it and his customers usage. My understanding is the GPLv3 could be construed to cause some issues if that license isn't worded correctly to not covers anything with GCC when he distributes it.

      Any ways, it is definitely something he needs to look out for. Any proprietary or patent license would probably be safer to specifically exclude any involvement with anything that might be released under the GPLv3 as not to accidentally become construed to covering it and void his rights to distribute it.

    69. Re:Answers by HermMunster · · Score: 1

      You are entitled to make your living. Your philosophy is your choice. If you decide to not use GPL or any other Open Source code and you write this all yourself, then you are entitled. In fact, it would be nice to have more people do that. Why is this? Because a product is a product. Just as id makes software that can run on Linux (and we don't expect them to open that code) you are entitled to do it with yours. There are many closed source games that run under Linux. Your program is essentially no different.

      I'm sure most of us only ask that you do not use open source code in yours. From what I understand there's no problem with calling libraries from open source either. It would be ridiculous to expect you to code all the OS. In fact, just running under Linux is essentially doing that.

      So, don't let the zealot twits jump on your case and don't let it get to you. A product is a product.

      --
      You can lead a man with reason but you can't make him think.
    70. Re:Answers by nobaloney · · Score: 1

      A great example of all this was the Cobalt RaQ servers, later the Sun Cobalt RaQ servers.

      What I'm not sure of is whether they statically linked anything or not. In fact I'm not sure if anything was compiled (ergo linked at all).

      No one ever came after them, and years later, when Sun cancelled the series, they put a lot of the code into public domain as Blue Quartz. See: http://bluequartz.org/

    71. Re:Answers by Anonymous Coward · · Score: 0

      I didn't realise that girls being the size of buses were desirable nowadays.

    72. Re:Answers by hedwards · · Score: 1

      I thought one had to. Hmm, perhaps I am wrong about that. Perhaps I misinterpreted the whole the source needs to be available in the same place as the binaries are available. Or am outright wrong.

      But yes the BSD source is available. Just not necessarily the portions which go into proprietary versions. I don't think that the Mac OSX changes or portions of BSD OS are available. But I could be wrong about that.

    73. Re:Answers by Anonymous Coward · · Score: 0

      Good ol' slashdot - where you can always count on somebody not to pick up on commentary about how somebody else was being a douchebag. (TM)

    74. Re:Answers by LWATCDR · · Score: 1

      "Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems? You can do whatever you want with BSD code"
      Correct but you have to be careful. It is very likely that you will find a lot of libraries are LGPL.

      Dynamically link the libraries and you will be safe.
      It will take a little bit of more space but shouldn't be a big problem.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    75. Re:Answers by nschubach · · Score: 1

      We'll call that a programming logic error. ;) It used to reference the .isFit parameter, but due to a miscommunication, the results turned out all wrong!

      --
      Every time I start to have faith in humanity, I ruin it by driving to work between 7 and 8 am.
    76. Re:Answers by Anonymous Coward · · Score: 0

      Nice try but no cigar. If you read the LLVM license it compiles against the GNU libc. Admittedly it is LGPL but it is still GNU code.

    77. Re:Answers by Anonymous Coward · · Score: 0

      However you would have to supply the sources to the GPL / LGPL components of your system upon demand. You're allowed to charge money for this so set some super high price like $700k, no one will ever pay that much, so no one will ever get your source, effectively making your stuff closed source. If some fool pays that much you've just made a nice profit. Be warned that said fool can redistribute the code for free if they want.
    78. Re:Answers by AdamKG · · Score: 1

      Okay, man, you do get that there is a fundamental, legal difference between "Stop distributing until you're in compliance with the terms of the license" and "Show the source code, period, or go to jail and/or face other legal sanctions"? Here's a hint: citizens have the power to sue to get #1, but generally #2 only comes about when said source code is involved in a lawsuit, and even then, you only have to show the code to the judge, not license it under the GPL. We're not talking about a mugger here. We're talking about the Rule of Law - you know, that thing that well-adjusted people respect and follow. And to the Law, there is a huge difference between the two choices. I'm no law student - and not being one of those said well-adjusted people I'm not likely to ever be one - but I thought that the distinction between these two was elementary.

      Apparently not.

      --
      groupthink: It's good for self-esteem.
    79. Re:Answers by julesh · · Score: 1

      How about suing for specific action in compliance with the agreement? EULAs, for example, contain a clause that the copyright owner can force you to *destroy* your media. Suing to enforce the agreement is just as valid

      In general, you can't do it without evidence of agreement. As it's perfectly possible to not agree to the GPL and then commit copyright infringement by redistributing, saying this is what happened is always an option if a violator really wanted to hold onto their code.

  2. Legal advice by Random+BedHead+Ed · · Score: 5, Funny

    (Pre-Slashdot conversation ...)

    "Hi, this is Bob from Smith, Smith and Wendell returning your call. I'm afraid we're not interested in advising you on matters of software licensing and distribution, but have you considered asking a few hundred thousand opinionated geeks in a public forum? Because that's what we advise most of our potential clients to try first. Here, let me get the URL for you ..."

    1. Re:Legal advice by Anonymous Coward · · Score: 1, Interesting

      True, but... In this case I'll bet that buried among all the replies are better answers than he'd get from 99.9% of attorneys (the 0.1% being those intimately familiar with GPLv2, GPLv3, LGPL, the glibc licence, the BSD licence, etc, etc).

      Slashdot may be full of geeks, but many (true, non-poseur) geeks DO know this stuff.

    2. Re:Legal advice by Bronster · · Score: 1

      No, no.. they would say:

      "It depends... we can't commit to any real answer because there's not enough case law to be sure..."

      "... but we're happy to keep digging on your dime ..."

      Seriously, every time we've asked a lawyer about anything IT related the answer has been a definitive "maybe".

    3. Re:Legal advice by klubar · · Score: 1, Insightful

      But the problem is identifying the 0.1% from the 99.9%.

    4. Re:Legal advice by nomadic · · Score: 3, Funny

      Seriously, every time we've asked a lawyer about anything IT related the answer has been a definitive "maybe".

      Well that's the nature of the law, every time someone asks me a legal question it starts up a little dialogue in my head; "Well I think the law says this. But what if the other side argues that other thing. And could there be a statutory claim there? Wait, that one issue is federal, could they remove the case to federal court? Damn, this guy is expecting an answer. Well I guess I can say maybe but that usually annoys them. Is it lunchtime yet?"

    5. Re:Legal advice by Bronster · · Score: 1

      Ahh, that was SCO's "mistake" - asking the question too close to lunchtime. I'll remember to ask after lunch!

    6. Re:Legal advice by Jaqenn · · Score: 1

      Like that joke about asking a lawyer what two plus two is:

      "Past precedents suggest four. But there are a few cases for three or five which are currently being appealed."

      --
      You are awash in a sea of fiercely stated opinions. Obvious exits are: 'File->Quit', 'Reply', and 'Page Down'.
    7. Re:Legal advice by RobertLTux · · Score: 1

      sometimes these questions are like using a flamethrower to search for a needle in a haystack.
      You may not find your answer but most likely you will learn a whole lot about the subject (for example the words used and what issues exist)
      now that you have a smoking pile of ash to deal with then you go to an Epen$ive lawyer type to do the real asking

      --
      Any person using FTFY or editing my postings agrees to a US$50.00 charge
    8. Re:Legal advice by DragonWriter · · Score: 1

      True, but... In this case I'll bet that buried among all the replies are better answers than he'd get from 99.9% of attorneys (the 0.1% being those intimately familiar with GPLv2, GPLv3, LGPL, the glibc licence, the BSD licence, etc, etc).


      Attorneys—those that don't particularly want to get sued for malpractice and subjected to professional discipline, anyway—that aren't intimately familiar with a particular law, license, etc., either provide a referral to a lawyer more familiar with that area or research the question thoroughly before answering it for a client.

      Participants on internet fora often spout whatever they've come to believe either because its conventional wisdom, some other non-expert told it to them, its the way they think it should be, etc.

      And, of course, are completely unaccountable for wrong answers.

      Slashdot may be full of geeks, but many (true, non-poseur) geeks DO know this stuff.


      And many "true, non-poseur" geeks don't know the legalities, but believe very strongly that they do. Technical expertise does not imply legal expertise any more than the reverse.

      Unless you already know the right answer, its not particularly easy for someone asking a question to determine which type of geek they are getting the answer from: a non-knowledgeable poseur, or non-knowledgeable genuine geek, or a knowledgeable genuine geek.

  3. Sounds OK to me by MichaelSmith · · Score: 3, Informative

    I am not a GPL guru and not a software freedom fighter.

    OK but if you want to sell software you need to understand licensing.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    Yes, glibc is licensed under the LGPL which is compatible with non-free software.

    3. Can I obfuscate my code (e.g. encode it)?

    I suppose so, but unless you are some kind of algorithm genius (and I don't think you are) it is not really going to be worth anybody's while to do reverse engineer it.

    1. Re:Sounds OK to me by Anonymous Coward · · Score: 1, Informative

      2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
      Yes, glibc is licensed under the LGPL which is compatible with non-free software.

      NO, you cannot. You are only allowed to link dynamically. Or you need to provide your program object files, so the end-user is able to link it statically with other version of the library. But it is impractical (IMO).

      Regards

    2. Re:Sounds OK to me by Anonymous Coward · · Score: 1, Informative
      * 2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

      Yes, glibc is licensed under the LGPL which is compatible with non-free software.

      I find people answering this wrong over and over again, so I have to correct. From LGPL license:

      Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library.

      So to make it short, you can link statically, but that means you have to also provide the object files of your part of the program so that the user can relink the library. This is to make sure that users can modify and replace the LGPL library and still use it with your program.

    3. Re:Sounds OK to me by julesh · · Score: 2, Informative
      2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

      Yes, glibc is licensed under the LGPL which is compatible with non-free software.


      You cannot freely statically link non-free code to LGPL code. See section 6:

      As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. [....] Also, you must do one of these things:

            1. Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work [...] and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink [...]
            2. Use a suitable shared library mechanism for linking with the Library. [...]
            3. Accompany the work with a written offer [to fulfil section 1 ...]
            4. If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
            5. Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
      [...]

    4. Re:Sounds OK to me by ultramkancool · · Score: 0

      3. Can I obfuscate my code (e.g. encode it)? Well, if you're going to do anything like in the windows world and just use some pre-ready packer, that's the #1 stupidest idea I've ever heard! These pre-written packers often make programs easier to crack, because the authors then rely on something that has already been cracked thousands of times over. Take armadillo for example. Many trial-ware programs use it. 90% of those trialware programs can be "cracked" with mm_dillodie (an armadillo unpacker). If you want actual protection, do it yourself!

    5. Re:Sounds OK to me by tepples · · Score: 1

      You cannot freely statically link non-free code to LGPL code. See section 6: "Accompany the work with ... the complete machine-readable "work that uses the Library", as object code" How is it so hard to provide this object code?
    6. Re:Sounds OK to me by julesh · · Score: 1

      It isn't, except doing so kind of defeats the purpose of not dynamically linking, because it's just as hard to make it work. It also makes the obfuscation the OP was asking about in his next question even less useful than it was to start with.

  4. Go for it by Jafar00 · · Score: 4, Insightful

    If you want to develop a closed source product, and the product is good, it will sell. There are many successful closed source projects out there in Linux/BSD land. You have to be extra careful about bugs though. The OSS community makes more noise when your code is buggy, and they aren't allowed to come in and fix it for you. ;)

    --
    RebateFX.com - Spread rebates for Forex traders
    1. Re:Go for it by erple2 · · Score: 1

      That is not true. You could have the greatest product in the world, but it won't sell unless you are able to advertise to your customer base. It is the EXTREMELY rare exception that tools sell via word of mouth.

  5. In Response to Your Questions by dpninerSLASH · · Score: 2, Informative

    A large number of people who subscribe here are against proprietary software on principal. I am not (although I choose to pay for and support open source), although I can almost assure you using a BSD-based OS will allow you to develop and release your product w/o fear.

    DP

    1. Re:In Response to Your Questions by FST777 · · Score: 1

      Beware though, using FreeBSD instead of Linux and then statically link to some library that is NOT provided / developed by the FreeBSD project, there is a fat chance that the library is GPL'd or LGPL'd.

      Using the OS says nothing about the software you further need to provide a working system. My advice: hire a lawyer who does understand the various licenses.

      --
      Free beer is never free as in speech. Free speech is always free as in beer.
    2. Re:In Response to Your Questions by dpninerSLASH · · Score: 1

      My advice: hire a lawyer who does understand the various licenses.

      Good general advice if you ever plan on porting away from BSD. If you know for certain you want to stay on a BSD-based OS, then it seems as though that would just be wasted money.

    3. Re:In Response to Your Questions by chrb · · Score: 2, Interesting

      I can almost assure you using a BSD-based OS will allow you to develop and release your product w/o fear Do BSD based distributions only ship BSD licensed code? No GPL software at all?
      And do BSD based distributions indemnify you against patent claims?

      If not, there are still reasons to fear.
  6. Ok thanks... by Anonymous Coward · · Score: 0

    ...for the answers.

    Next.

    1. Re:Ok thanks... by IdleTime · · Score: 4, Informative

      Oracle is running it's products under Linux and it is all closed source.

      In fact, development of new versions are done on Linux and then ported to other platforms. Here is a good starting page if you are interested in seeing how and what s done by Oracle on Linux, both closed and open source: http://www.oracle.com/technology/tech/linux/index. html

      --
      If you mod me down, I *will* introduce you to my sister!
  7. Go to hell with your @#$ closed code by Anonymous Coward · · Score: 1, Funny

    That says it all.

    1. Re:Go to hell with your @#$ closed code by Anonymous Coward · · Score: 0

      And if you have trouble understanding what is meant by "go to hell," here is the practical version:

      If you don't plan on sharing your source, then don't use any GPL code with it. It's that simple, really. GPL stuff is written by and for people who want to share their code, so please don't try to exploit it.

    2. Re:Go to hell with your @#$ closed code by EvanED · · Score: 1

      Wow, that's certainly a weirder version of what "go to hell" means than what I'm used to.

    3. Re:Go to hell with your @#$ closed code by Anonymous Coward · · Score: 0

      I can understand the sentiment. With a closed source base you still have to make a pact with the devil to use the infrastructure, pay any licensing fees.. so he's kind of asking: I would like to capitalise on the popularity and utility of GPL code but without paying for it. Sure it's a pact with a different devil, since you have to pay through sharing. He should just violate the GPL in order to corner the market and then open it when someone complains.

    4. Re:Go to hell with your @#$ closed code by Anonymous Coward · · Score: 0

      I agree! He wants to make his job easier by using the hard work of other people while not respecting the freedoms of others. There are plenty of closed sourced Unix operating systems to pick from.

    5. Re:Go to hell with your @#$ closed code by Anonymous Coward · · Score: 0

      > Wow, that's certainly a weirder version of what "go to hell" means than what I'm used to.

      I'm a lover, not a fighter! :)

  8. Answers by DrXym · · Score: 5, Informative

    1. Yes. GPL3 is not retroactive to existing source. Even if you used GPL3 stuff, I don't think it has any impact on your own code if it is distinct.
    2. Yes if they are LGPL. Which includes the standard C++ libraries. Some components such as the kernel also have certain binary waivers.
    3. Yes but why bother if you're not releasing the source. And if you are releasing the source, then there are benefits to not obfuscating it (e.g. helpful customers fixing your bugs).
    4. Not unless a court says. Obviously if you violate the GPL you are taking a major risk of somebody finding out and forcing your code out into the open.
    5. Yes, but neither will you have a problem with Linux. However you would have to supply the sources to the GPL / LGPL components of your system upon demand. Most people stick the source up on a web site or link to where they found it, but the latter may not absolve you of not providing it if somebody comes asking for it. Also BSD systems can contain GPL software too (e.g. if you use gcc as your compiler for the C++)

    I think if you're in doubt you should probably go look at some existing Linux dist designed for embedded systems. They're bound to have a FAQ that covers most of this.

  9. Well... by cp.tar · · Score: 1

    Except for linking to GNU libraries, of which I know very little anyway since I'm no programmer (yet), from what I know, your problems do not exist.

    Namely, you can run proprietary code on Linux. For instance, nVidia and ATI provide proprietary kernel drivers (though with something like that may be problems in GPL 3; however Linux will in all probability remain GPL 2). Adobe provides it Acrobat Reader for Linux and so on and so forth. No problem there.

    As long as you do not use any code under a GPL license, you're home free; no-one[1] can force you to publish your source code.
    That is not to say that people here wouldn't prefer you to make your project an OpenSource one, but most of us here realize you have to make a living.
    I do not know why you'd want to obfuscate your code anyway; it would only make your code harder to read - to you. I don't see why you couldn't encrypt binaries, though.

    And yes, going with BSD would completely eliminate your problems (mostly non-existent as they are anyway) - and would even allow you to include all the code in your proprietary program, which you may or may not need.

    [1] Well, maybe a few guys with rubber hose pipes or something...

    --
    Ignore this signature. By order.
    1. Re:Well... by Anonymous Coward · · Score: 0

      Namely, you can run proprietary code on Linux. For instance, nVidia and ATI provide proprietary kernel drivers (though with something like that may be problems in GPL 3; however Linux will in all probability remain GPL 2). Adobe provides it Acrobat Reader for Linux and so on and so forth. No problem there.

      Don't use ATI/nVidia drivers as an example. He was (as far as I can see) talking about developing programs for, NOT kernel code. I.e. userspace.

      Closed source userspace is fine (but check the answers to the rest of the questions, especially the static linking one).

      However, binary kernel modules are a completely different thing. They are in a "walk very carefully here, with lawyers checking every step" area. I can assure you that both nVidia and ATI have lawyers checking everything very carefully. Those drivers have dual-licensed (GPL + proprietary) separation layers, that can link to the kernel because of the GPL and link to the driver because of the proprietary license. And yet we still have arguments once in a while about the legality of this.

    2. Re:Well... by cp.tar · · Score: 1

      On the other hand, if even kernel modules can be proprietary, he has nothing to fear from making a completely userspace closed source program.

      I admit kernel modules are an extreme case - that's exactly why I'd put them in.

      --
      Ignore this signature. By order.
  10. Some answers by Anonymous Coward · · Score: 5, Insightful

    1. If you want to start a bussiness and have legal questions, go ask a lawyer, don't ask on slashdot.

    2. Even if you decide to post on slashdot, at least try to read the licenses in question before plus the many articles on the subject that are readily available online.

    3. If you want to have good and honest answers, avoid the word fanboy in your original post. Starting off by insulting the very people whose help you ask for isn't a very good idea.

    1. Re:Some answers by El_Muerte_TDS · · Score: 1

      1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

      You can do it today, but I think GPL3 is going to be against it. Still, until the license is released, and packages are relicensed, some time will pass.


      That's not completely true iirc. Only if you add some for of DRM or tamper resistance to the system you might get into trouble with GPLv3. But in that case you will get stuck with the GPLv2 versions of the software.
    2. Re:Some answers by moranar · · Score: 1

      No, I meant this:
      "One major danger that GPLv3 will block is tivoization. Tivoization means computers (called "appliances") contain GPL-covered software that you can't change, because the appliance shuts down if it detects modified software. The usual motive for tivoization is that the software has features the manufacturer thinks lots of people won't like. The manufacturers of these computers take advantage of the freedom that free software provides, but they don't let you do likewise."

      From http://gplv3.fsf.org/rms-why.html

      --
      "I think it would be a good idea!"
      Gandhi, about Internet Security
    3. Re:Some answers by aarggh · · Score: 1

      I didn't get the feeling that the submitter was trying to inflame or insult anyone by his terminology, and while I myself would certainly qualify as a linux fanboy, I don't blame him in the least that he was concerned about this aspect. While being passionate about something can be admirable, some fanboy's ( and there are a fair few of them) approach people with genuine questions like these with the sort of zealotry akin to the Spanish Inquisition, and in turn give the entire Linux community the "fanboy" or " fanaticist" label. Not good! But good on him for asking some genuinely good questions that at least a fair amount of people have tried to answer in a helpful way as only a (generally) like-minded, well informed and resourceful community can.

    4. Re:Some answers by PopeRatzo · · Score: 3, Insightful

      1. If you want to start a business and have legal questions, go ask a lawyer, don't ask on slashdot.

      He probably will ask a lawyer, but that doesn't minimize the value of asking on Slashdot. One of the concerns the guy had was about the Linux fanboy community, and the rich community of /. has one or two of those.

      If you've ever prepared to start a major project, you know that sometimes getting advice from a wide range of sources is valuable. Personally, I've gotten some extraordinarily valuable information here on Slashdot that's directly helped me with my own projects. There was a recent article about video codecs that was a huge help to me.

      2. Even if you decide to post on slashdot, at least try to read the licenses in question before plus the many articles on the subject that are readily available online.

      I've seen a few of these scoldings around here lately, this notion that you should do research online before you do research online. One of the reasons you ask a question on Slashdot is because you're not an expert in that particular subject and you're looking for opinion.

      Plus, reading TFA is against the Slashdot EULA.

      3. If you want to have good and honest answers, avoid the word fanboy in your original post. Starting off by insulting the very people whose help you ask for isn't a very good idea.

      "Fanboy" is an insult? I actually think it's a highly descriptive and precise term. Anyway, he wasn't referring to Slashdot readers as fanboys, he was describing a subset that would rip somebody for trying to make a living by making a product and not giving it away. If the shoe fits...

      I hate the very idea of IP, but not everyone can live out here where the air is thin.
      --
      You are welcome on my lawn.
    5. Re:Some answers by jb.cancer · · Score: 1

      now your are *not* in his definition a 'fanboy', because he was asked to ****off by a fanboy when asked the same topic as here.

      Seriously, i don't think the poster was referring to people with knowledge of GNU/Linux as 'fanboy's. it's just that some of the elitist and arrogant (yes, i'm gonna get killed for this) attitude that we show may have caused people to think this. Despite the best intentions of the community, a few people manage to scare off the newbies.

    6. Re:Some answers by ericrost · · Score: 1

      No IP is not incompatible with making a living off a product, you just have to deliver value (instead of a box of code that may or may not fill your customers' needs). It simply aligns what the customer is paying for with what they receive, a working system.

    7. Re:Some answers by fotbr · · Score: 1

      [i]Despite the best intentions of the community, a few people manage to scare off the newbies.[/i]

      I'd expand on this and say the worst about it are the new-to-Linux users themselves. The people that have used Linux regularly for more than a couple years tend not to be fanatics, but the users that switched less than a year ago are the ones that adopt the Linux-fixes-everything-and-those-that-don't-are-st upid attitudes.

      Similar to the "born again" crowd being much more in-your-face and obnoxious than "regular" (for lack of better word) Christians.

    8. Re:Some answers by Anonymous Coward · · Score: 0

      yeah, and don't forget, NOBODY expects the Spanish Inquisition!!

    9. Re:Some answers by maxwell+demon · · Score: 2, Insightful

      That's exactly what he meant with "tamper resistance". Note that as long as your device allows modified software to be installed, this clause doesn't affect you.

      BTW, an interesting question would be if it would violate the GPLv3 if a networked box would run modified software quite fine, but always transmit a checksum of the running code to the server it connects to (done directly by the hardware, so no modification of the software can change that), and that server would then deny to serve the box if it doesn't run the original software. Technically, the box wouldn't be tamper-resistant (after all, the modified code works just fine, and if you'd connect to a different server which doesn't care about the checksum, there would be no problem), but it might make the box useless anyway (because the service you get from that server might not be available otherwise).

      --
      The Tao of math: The numbers you can count are not the real numbers.
  11. Closed code by LLuthor · · Score: 4, Insightful

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?
    The license for the Linux kernel is not going to change (It requires the consent of many hundreds of contributors, many of which will decline. Some are dead, others are unreachable.)

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
    You can statically link, but why avoid dynamic linking? glibc and libstd++ are LGPL, which permits binary only distribution.

    3. Can I obfuscate my code (e.g. encode it)?
    Isn't compiling it enough? You can strip the compiled code or debugging symbols if you really want, but you only hurt your own ability to debug your users problems.

    4. Could I be forced to publish this code by some 3-d party?
    Not if you avoid linking with code which has a license that require it.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
    Linux and the various BSD flavours both allow this sort of use. See the various wifi-routers and tivo style devices. Hell even my digital picture frames run linux.

    --
    LL
    1. Re:Closed code by Tillmann · · Score: 1

      Hi,

      for LGPL-licensed software, "it must be possible for the software to be linked with a newer version of the LGPL-covered program".

      How are you going to do that, without distributing either source or object files?

      I doubt that it's OK to statically link LGPL libraries and just distribute executables.

      bye,
      Till

    2. Re:Closed code by julesh · · Score: 2, Informative

      glibc and libstd++ are LGPL, which permits binary only distribution.

      Not of statically linked code. See section 6, which requires that enough materials be given (or offered) to the user to make a version of the program that uses a modified copy of the library.

    3. Re:Closed code by hankwang · · Score: 1

      3. Can I obfuscate my code (e.g. encode it)?
      Isn't compiling it enough? You can strip the compiled code or debugging symbols if you really want, but you only hurt your own ability to debug your users problems.

      I suppose obfuscation serves a purpose if it is about handling license keys. You don't want to make it too easy for a cracker to overwrite a single subroutine call to check_license() with NOP instructions. But it is rather unclear what he's thinking of with the term 'obfuscate'.

    4. Re:Closed code by tepples · · Score: 1

      How are you going to do that, without distributing either source or object files? Who said distributing object files is undesirable?
    5. Re:Closed code by Anonymous Coward · · Score: 0

      Some are dead, others are unreachable.

      This, boys and girls, is why English would make a terrible programming language.

  12. Have you asked PJ? by Anonymous Coward · · Score: 2, Funny

    She is the world's expert on software licencing.

  13. Some answers by moranar · · Score: 1

    > "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.

    Maybe not in your own code, but if you distribute linux boxes, you are using GPL code.

    > 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.

    This is possible. TiVO do something like it.

    > 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.

    You will get some of those here, just read on for the advice, and check it before acting upon it.

    > I am not a GPL guru

    Check with a lawyer. This would be my advice even if you said you were a GPL guru.

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    You can do it today, but I think GPL3 is going to be against it. Still, until the license is released, and packages are relicensed, some time will pass.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    Not sure about this: if you are using GPL libraries, then I think it's not only "your code", but also someone else's. Check the GPL or other comments about this.

    3. Can I obfuscate my code (e.g. encode it)?

    It's your code, do what you want with it. You can also obfuscate the kernel code and the rest of the code you distribute, but it will be useless: you have to provide the code for that.

    4. Could I be forced to publish this code by some 3-d party?

    You will be forced to publish all open source code you distribute. Even if it is useless outside the device (and I think the GPL3 is going to do something about that).

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    True, I don't think you have to worry about it under the BSD license, only proper attribution is required.

    --
    "I think it would be a good idea!"
    Gandhi, about Internet Security
  14. I second that! by nietsch · · Score: 1

    This has all the hallmarks of some good flamebait...

    --
    This space is intentionally staring blankly at you
  15. coupla things by inode_buddha · · Score: 1

    One look into the lgpl libraries two, remember that the fanboi thing is a relatively new phenomenon. Get out that asbestos underwear.

    --
    C|N>K
  16. Tentative answer by JanneM · · Score: 3, Informative

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Yes.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    AFAIK, no. Static linking is incorporating code directly. If you link dynamically then any library that is LGPL (not GPL) is fine, but for static linking I believe you need to have an open license on your own code as well.

    3. Can I obfuscate my code (e.g. encode it)?

    It's your code - do anything you want. If you're not open-sourcing it, just don't ship the source.

    4. Could I be forced to publish this code by some 3-d party?

    No. Again, when people have been found to have violated the terms of the license, they've had to stop selling and distributing the stuff. I can imagine cases where someone may have to retroactively pay for the illegal use of code. But I can't see a situation where'd you actually had to open your code.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    Well, 1, 3 and 4 isn't a problem under Linux either. 2 - for BSD-licensed libraries you could link statically. But a lot of libs (user-interface stuff and higher-level libs) in BSD systems are LGPL as well - everything in a BSD-based system isn't BSD-licensed.

    --
    Trust the Computer. The Computer is your friend.
    1. Re:Tentative answer by dido · · Score: 1

      2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

      AFAIK, no. Static linking is incorporating code directly. If you link dynamically then any library that is LGPL (not GPL) is fine, but for static linking I believe you need to have an open license on your own code as well.

      Well, actually it IS legally possible to statically link a proprietary program against LGPLed libraries. The only thing you have to do in this case is provide a means to allow the user to relink the program against a modified version of the library you're linking against, e.g. provide .o files as well as a final executable, so that the .o files can be linked again to produce a new executable statically linked with a modified version of the LGPL library. For example, if the poster's project consists of three modules foo.o, bar.o, and baz.o, and the final program is quux, linked against the LGPL libary libc.a, he or she must, in addition to distributing the supported binary quux, should also distribute foo.o, bar.o, and baz.o to allow a user to relink the program against a changed version of libc.a (possibly voiding support).

      --
      Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
    2. Re:Tentative answer by tepples · · Score: 1

      If you link dynamically then any library that is LGPL (not GPL) is fine, but for static linking I believe you need to have an open license on your own code as well. No, you just have to provide the object code to the application so that it can be relinked with a modified library.
  17. not to disparage, but by rucs_hack · · Score: 4, Interesting

    aside from the fact that all your questions can be answered by doing a little research that you *should* be doing yourself, I see one problem.

    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.

    1. Re:not to disparage, but by tacocat · · Score: 1

      I was thinking of a similar problem that he is going to face.

      Closed source software development has a serious drawback. It's very expensive to manage and develop. I'm working on a project today that I don't feel is worth releasing for others to see -- making it effectively closed source.

      As a result, development is slow and difficult because every bug I run into is entirely mine to solve.

      All the code changes are done on my time. No one else is spending time on anything: documentation, testing, user interface...

      I am not an expert in all things so I have to sit down and spend days learning a lot of detail about things that I just never expected to deal with.

      I'm just about ready to try releasing this but for me, I'm not sure how/where to do this. Not sure I want to give my code to sourceforge or if anyone is interested in yet another spam filter. Especially if it runs only on postgresql databases. Transitioning to MySQL is not something I have any interest in doing and with the MySQL Zealotry being almost equal to Linux I don't think I'll find much interest.

    2. Re:not to disparage, but by rucs_hack · · Score: 1

      Avoid Sourceforge, go to Google Code Project Hosting.

      Not only is it easier (I moved my project there from sourceforge, and I love it), it's not stuffed to the gills with projects yet, so yours could stand out a bit more.

      On the working alone thing. People tend to assume that open source always means co-operative coding. Not so. For example my project, while some people have offered advice from time to time, has been a solo effort from the start. There has never been anyone else I would describe as a second developer on the team.

      So I also have to write all my own code. It's not easy, wouldn't I just love some help, but not many people are interested in gravitational system modelling, so I soldier on alone. I am not the only open source developer to be in this situation. We can't all be Apache or kernel devs.

      At least we have our own products, and own the rights to our code. How many closed source developers can say that?

    3. Re:not to disparage, but by Anonymous Coward · · Score: 0

      .... There have been some successes with closed software on embedded systems?

      I would say that the majority of commercially successful embedded systems are closed source.

      Cell phones, MP3 players, programmable thermostats, microwave ovens, GPS, PDAs, the controllers in your car, all closed software. All very successful.

      For each unit sale of an open source version of the above, how many closed source units are sold?

    4. Re:not to disparage, but by westlake · · Score: 1
      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.

      Without knowing what he is building I wouldn't care to call the odds. You won't get far programming an industrial controller for twenty-five tons of heavy machinery if you have never stepped foot on a shop room floor.

  18. It depends. by jnelson4765 · · Score: 0

    Although it is generally accepted that you can link to GPL libraries in closed-source software, it has not been tested in court. You can obfuscate code - I've talked to people who wrote encrypted binaries as CS projects. But, if you are going to be releasing a product that has a mix of open- and closed-source, you will still have to provide the source of every bit of GPL-licensed software you do use. That includes things like drivers for any custom hardware that you have - look at the troubles Linksys had with the WRT54G.

    BSD is completely unencumbered by these restrictions, and if it works on your hardware platform, it's not a bad option.

    IANAL, though, so if you are truly concerned, get yourself a lawyer that knows how OSS works and get some pointers if you want to go the Linux route. Generally, though, if you look at how Linksys/Cisco handles the WRT54GS, and make a similar effort (an FTP site with the source code, and references to it in documentation, in the device OS, and on your website) you should be okay.

    --
    Why can't I mod "-1 Idiot"?
    1. Re:It depends. by Anonymous Coward · · Score: 0

      Although it is generally accepted that you can link to GPL libraries in closed-source software

      WRONG. The LGPL allows dynamic (but not static) linking, the GPL specifically DOES NOT. If the GPL allowed linking there would be no point in having the LGPL.

    2. Re:It depends. by BokLM · · Score: 1

      Although it is generally accepted that you can link to GPL libraries in closed-source software, it has not been tested in court.

      Hell no, what is generally accepted is that you CAN'T link to GPL libraries your closed-source software. Unless the license for the library has an exception that allows you to do that (this is the case for the linux kernel for instance, so that software that runs on Linux do not have to be GPL).

  19. Hmm by Anonymous Coward · · Score: 3, Informative

    To be perfectly honest, I have to question whether it's wise to enter a market where a) you don't have familiarity with the platform (there are long established answers to most of these questions) and b) don't know anybody you could ask. Having said that...

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Today, yes, provided you comply with the terms of the license. Tomorrow, it depends on exactly what you are doing.

    2. Can I statically link the code with Linux libraries?

    That contradicts your earlier claim that you "won't modify or use any GPL code or any 3rd-party sources". The term "Linux libraries" is meaningless. What libraries are we talking about? By statically linking a library, you make your application a derivative work and you are also distributing the library itself, which means you need to make sure that the library's license allows this and that you comply with its terms.

    (My own experience shows that dynamic linking is too much to bear.)

    Your own experience is probably wrong.

    3. Can I obfuscate my code (e.g. encode it)?

    So long as it's entirely your code, although I don't see the point. Of course, if the reason you are obfuscating the code is because it's a derivative work and you are required to provide the source, then no, you probably can't.

    4. Could I be forced to publish this code by some 3-d party?

    At worst, if you infringe on somebody's copyrights, then you could be offered this as an alternative to being sued.

    See, this is the kind of question that makes me think you don't even have the remotest familiarity with Linux. You seriously think somebody can just shake you down for source? Huh? Or are you just spreading FUD?

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    Ah, that answers my question. Fuck off. You aren't genuinely asking these questions, you're just a BSD troll spreading FUD.

  20. I'll give it a shot by dedazo · · Score: 1
    1. I don't see why not, but it depends on what it is you're doing. People get in trouble because they distribute custom versions of Linux without also releasing the modifications. If you're shipping a "stock" Linux with your apps on top, you're OK. Userspace applications and drivers are not "infected" by the GPL. I don't believe the GPLv3 changes this at all.

    2. NVidia does it, why not you?

    3. I'm not sure what this means. If you're using C++ then you're already giving out machine code basically, but anything can be reverse-engineered given enough time and motivation.

    4. If you link to a GPL library or use GPL code, yes. But again, we don't know what you're doing so if you're not stepping on #1 you're OK.

    5. Pretty much, yeah. Or at least it would be simpler. These days you need to rent a lawyer to interpret the GPL. The BSD license does not restrict your rights in regards to distribution and it does not compel you to do anything if you're just linking. There's lots more software for Linux than there is for the BSDs though.

    As for the "join us or die" crowd, I'd just stay away from the resident zealots and you'll be OK. There are a lot of people who care about free software and are willing to help around here.

    --
    Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
  21. Answers by cerberusss · · Score: 0, Redundant

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?
    If you make modifications to GPL software (for example the kernel) with both GPL2 and 3, you must also make the source available. If you create your own software, that's not necessary. With GPL3, you're forbidden to create hardware obstacles for users to run modified GPL code. Search for 'tivo gpl 3' for an explanation.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
    If you want to link without having to distribute your source code: only if the libraries are not GPL. But GPL, BSD licenses do the trick.

    3. Can I obfuscate my code (e.g. encode it)?
    That's a stupid way to try to work around the GPL. Don't do it. Just don't link in GPL code. Or modify it and distribute it without the source.

    4. Could I be forced to publish this code by some 3-d party?
    Not if you stick to the rules. I.e. don't modify GPL code and distribute it. Or link to it.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
    Well, if you stick to BSD-licensed software, of course. However, the Linux community is much larger and much more software comes out. Weigh the advantages and disadvantages yourself.
    --
    8 of 13 people found this answer helpful. Did you?
  22. Don't think you'll have a problem. by MadTinfoilHatter · · Score: 0, Redundant

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)? Yes.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.) I think you could do it with BSD & LGPL:ed code, but not GPL:ed code. Not 100% sure on this one - someone please correct me if I'm wrong.

    3. Can I obfuscate my code (e.g. encode it)? Sure, but why would you want to, if it's going to be closed source anyway?

    4. Could I be forced to publish this code by some 3-d party? Only if you used other people's code in a manner that violates the licence. E.g. you used GPL:ed code in your software. Linux is however designed in such a fashion that it's quite possible to run both free and proprietary software on it side by side. (Proprietary kernel drivers are a different matter, but that's not what you're doing, right?)

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems? I don't think you'll run into problems in Linux either - but if you thought that the Linux-free-software-fanboys are bad, wait 'till you meet the BSD-ones... ;-)
  23. Just use BSD by node+3 · · Score: 3, Insightful

    BSD is licensed to allow for people to do what you want. GPLd software is not.

    I'm not opposed to proprietary software. Quite the contrary. But I do find the notion of taking an open source project, slapping on a bit of code, and trying to keep your part to yourself, to be extremely offensive. The people who contributed to GNU software did so with the expectation that their code is share and share alike. What you've described appears to run directly counter to that, completely disrespecting the wishes of the programmers involved. Unless I'm reading you wrong, you deserve a hearty "go to hell!".

    BSD, on the other hand, is meant to allow for use exactly like you are proposing. Have at it. No hard feelings there as that's exactly in line with their programmers' wishes.

    1. Re:Just use BSD by Anonymous Coward · · Score: 0

      > But I do find the notion of taking an open source project, slapping on a bit of code, and trying to keep your part to yourself, to be extremely offensive.

      You mixed up open source with Free Software. BSD is open source, but, as you point later, is designed to do exactly that.

      [RMS was right when Perens started the wishy-washy 'open source' meme, he did a disservice by blurring the meaning of words]

    2. Re:Just use BSD by kripkenstein · · Score: 2, Informative

      I do find the notion of taking an open source project, slapping on a bit of code, and trying to keep your part to yourself, to be extremely offensive. The people who contributed to GNU software did so with the expectation that their code is share and share alike.
      In some way, yes, they did expect 'share and share alike'. But not entirely. Linux kernel developers explicitly allow you to do whatever you want in userspace; they don't expect anything from you if you use their kernel and 'slap' a proprietary app on top of it. Likewise GTK+ devs don't expect anything if all you do is use GTK+ as your GUI toolkit, i.e., just link to it externally. And in fact a lot of proprietary development prefers GTK+ (which is LGPL in the relevant part) over Qt, which is more problematic for them.

      In fact this is the explicit reason for the LGPL being different from the GPL, and similar things (GPL+exceptions, etc.). To return to the GNOME/GTK+ example, the (GNU!) licensing allows proprietary apps to run on their platform; in that sense this is a very business-friendly license (to FOSS and proprietary businesses alike). And this makes sense: even if apps developed on top of GNOME/GTK+ are proprietary, often during their development some contribution is made back to GNOME/GTK+, in the form of bug reports, patches, and perhaps other things; in addition, if the app is widely-used then it gets more people familiar with the platform underneath it, opening more potential avenues for benefit to GNOME/GTK+ (and of course this example is relevant to other projects as well: the Linux kernel, languages/runtimes like Python, etc.).
    3. Re:Just use BSD by asninn · · Score: 2, Informative

      Um, no. The guy who asked these questions, while clearly being extremely clueless, is not actually ripping anyone off. There's nothing that says you can't run closed-source software on a Linux system - quite the opposite -, and it's absolutely not contrary to either the letter or the spirit of the license or the wishes of the programmers in question.

      I suppose you could still be opposed to closed-source software in principle, but you're not - what you seem to be doing (intentionally or not, I can't tell) is put up a strawman of "you're violating the GPL folks feelings by doing this!", even though it is patently untrue, and then use that to justify advising the guy to use BSD instead.

      Are you sure you're not a particularly sophisticated BSD troll? :P OK, no need to answer that, but either you're extremely clueless, or your post was a particularly sneaky and underhanded attempt to discredit the GPL.

      --
      butter the donkey
    4. Re:Just use BSD by marcovje · · Score: 2, Informative


      First, BSD has some limitations (like carry notice and not misrepresent its origin).

      Second, one must separate BSD licensed software from BSD based OSes. To my knowledge, all modern BSDs extensively use GNU software to create binaries, libgcc among others.

      Third, one can link to GPL, LGPL code, as long as it is for own use (not redistributed).

      Fourth, hardly any libraries come as GPL. Nearly all come with LGPL. Moreover, (L)GPL is a bit defanged if it comes with the distro. But static linking is still an issue.

    5. Re:Just use BSD by Anonymous Coward · · Score: 0

      No, YOU mixed up Open Source with Free Software. BSD is free software. GPL'ed software is Open Source.

    6. Re:Just use BSD by Anonymous Coward · · Score: 0

      Oh, care to point to sources that back up that ridiculous assertion ?

    7. Re:Just use BSD by init100 · · Score: 1

      RMS was right when Perens started the wishy-washy 'open source' meme

      Hmm, wasn't that ESR?

    8. Re:Just use BSD by Anonymous Coward · · Score: 0

      I'm not the original poster, but I'll try. He used free and not "Free". BSD licensed code can be freely used in whole or part in any project. GPL code can be used in any project willing to change their licensing model. Both require you to accept a license, but the former is much easier to accept from a business standpoint. BSD and GPL licenses each have their place. Remember BSD fans don't care about code freedom, they care about living beings freedom. Its more important what I can do with the code than what the code can do for itself.

    9. Re:Just use BSD by node+3 · · Score: 1

      It's not hurting "the GPL folks feelings" that offends me, it's the disregard for their intentions (i.e., not about whether they are happy or sad, but whether their rightful will is being contradicted). Interesting, this is *exactly* the same issue he is trying to avoid happening to himself--having his source code forced out of his hands against *his* will.

      He describes wanting to create some sort of appliance that runs Linux (or BSD), which (one can only assume) a significantly small amount of proprietary code on top of a free/open source system. He seems not to care one whit about open source/free software, other than that he doesn't have to pay for it. While that annoys me some, so long as it's within the letter and spirit of the license, it's not something that's going to bother me all that much, but it seems he really wants to push things further than that. This is why I suggest using BSD. It's the sort of thing the BSD people actually want (well, they probably don't *want* proprietary stuff so much as they want their code to be used, proprietary or not).

      Your question about being a covert BSD troll was interesting. I strongly prefer the GPL to the BSD license, even though I'm pointing him away from GPLd code in this case. The reason is that the GPL is designed to protect freedom, while the BSD license is designed to allow for maximum freedom, including the freedom to take away freedom. What he wants is maximum freedom, and doesn't seem to care at all about protecting freedom (aside from his).

    10. Re:Just use BSD by Anonymous Coward · · Score: 0

      In my opinion, as long as you comply with the letter of the law (the license) everything is fine. If the license does not accurately reflect the spirit of the law (their intentions) then they should rewrite the license.

    11. Re:Just use BSD by Anonymous Coward · · Score: 0

      Oh, you're right. Confused. Thx.

    12. Re:Just use BSD by Anonymous Coward · · Score: 0

      *BSD have their own C libraries, they don't use the glibc stuff. They do use gcc, but it's not necessary to distribute the compiler, in most cases. The *BSD also have a few actual GPL programs (like say /usr/bin/lynx on OpenBSD) in their userland, but it's for the most part "clean" as they try to stay away from all but the most open licenses (that means BSD, MIT and Artistic and maybe a couple others).
      The ports system is a different story. Those programs aren't considered part of the OS though.

    13. Re:Just use BSD by marcovje · · Score: 1


      That's why I say libgcc, and not glibc. And libgcc IS in /usr/src/contrib/gcc, which is the non BSD licensed (read GNU tainted) directory of the BSD sources.

      Check out this source directory so see exactly what is non BSD in the core BSD distribution of your choice.

  24. GNU/Linux ideology conflict by dircha · · Score: 1, Troll

    As an entrepreneur you should be absolutely clear what you are dealing with when you talk about GNU/Linux, specifically GNU. Richard Stallman has stated time and again that he considers proprietary software development and distribution to be immoral and that it is the goal of his project and organization to eliminate it - that's you! Go to their project page and read their philosophy documents yourself. They make their goals completely clear for the world to see.

    Make no mistake about it, while using the GNU system may be convenient, their goals are in direct conflict with your goals - they consider your goals to be outright immoral - and they control the licensing of the GNU projects that make up the system.

    I'm sorry, but if your business model depends on benefiting from the continued maintenance and security support of GNU/Linux system projects, you need to very seriously weigh the risks and benefits.

    Selling a closed box solution, you're really doing yourself a disservice if you don't start with *BSD and prove to yourself why you should risk basing your product on GNU/Linux.

    I think GNU is great personally, but I really think it's funny to see corporations jumping on the bandwagon without realizing who's up front driving.

    1. Re:GNU/Linux ideology conflict by Anonymous Coward · · Score: 0

      isn't that it's made for-profit by a company but that you've bought a useless binary. Useless in the sense that, though it is an expressive work (otherwise no copyright) you can't learn anything about programming from it. Despite knowing there are updates needed (bugfixes), you are unable to fix it yourself (unlike, say, your house). Despite it being technically possible, if the supplier doesn't want to port it, you can't either. Despite copyright lasting "forever" the owner can abandon the work at any time they wish.

      FSF's four freedoms are not an attempt to remove propriatory code but to remove from any code/binary the bad things that the propriatory model allows to happen.

      It is the bad results that are immoral, not the model that gets it made.

      PS I seem to remember something VERY similar a few years ago on slashdot with very nearly the same questions.

    2. Re:GNU/Linux ideology conflict by NDPTAL85 · · Score: 1

      The main problem with your explanation is that there are very few people who are either capable or desiring of wanting to learn how to program from whatever piece of software they are using. Its like owning car or a house. You know how to use them but you don't need to know how to fix them. You can hire people to do that for you. Do you think I want to learn a plumbers or electrician's trade just to fix my house or car? Programming is *HARD* work. Most folks just flat out can't do it. So aside from the software being free as in beer, why should any non-programmer care about open source? Especially since that lower cost is often offset by a tradeoff of worse/lesser User Interface design.

      --
      Mac OS X and Windows XP working side by side to fight back the night.
    3. Re:GNU/Linux ideology conflict by _Sprocket_ · · Score: 1

      Its like owning car or a house. You know how to use them but you don't need to know how to fix them. You can hire people to do that for you. Do you think I want to learn a plumbers or electrician's trade just to fix my house or car? Programming is *HARD* work. Most folks just flat out can't do it. So aside from the software being free as in beer, why should any non-programmer care about open source? Especially since that lower cost is often offset by a tradeoff of worse/lesser User Interface design.


      When your car breaks, do you have to take it back to the manufacturer to have it fixed? If you decide you want to remodel your bathroom or install a new lighting fixture, do you have to hunt down the original builder (assuming they're still in business) and negotiate them coming in to do the work? Of course not. These are (reasonably) open systems that any competent mechanic, plumber, or electrician can work on at your direction. Sure - you don't know how to do these things. But you have a wide choice of who to do the work in the exact way you want (technical issues aside).

      Open Source is important if you want that same flexibility in your IT infrastructure. Maybe you have no intention of ever touching a line of code. But the people you hire to do it for you will have everything they need to do the work to your specifications.
    4. Re:GNU/Linux ideology conflict by init100 · · Score: 1

      So aside from the software being free as in beer, why should any non-programmer care about open source?

      Well, you said it yourself: You can hire people to fix your programs. Not only the original developer, but any competent developer. You can't do this with closed source.

  25. Yes, of course you can by kripkenstein · · Score: 1

    As long as you link externally to LGPL code, or only write in userspace while using something like the Linux kernel, you have no problem. Between these two they allow basically everything you need (assuming that in fact you don't need to write your own kernel modules or make changes inside the LGPL code).

    This is precisely how proprietary apps work on Linux (examples: Matlab, Oracle, etc. etc.). In fact you can even use a GUI, assuming you pick GNOME/GTK+ (not KDE/Qt).

    So, basically you have no problems at all. Yes, BSD is somewhat simpler in that you don't need to check these issues. But really there is no reason not to use Linux (if it suits your goals, of course, BSD is also very good).

    Since you intend to give out boxes including the Linux kernel, etc., you will need to abide by the GPL, i.e., provide source for for the kernel, etc., NOT for your own code. Note, however, that from GPL3 and onwards, assuming projects adopt it, you will not be able to Tivo-ise your hardware. If you run in userspace anyhow, this probably won't be an issue, but you do need to consider this beforehand.

    What is certainly good advice is the following. Don't get too tied to a single platform! Write your app as portable as possible, so that you can deploy it on Linux, BSD, OpenSolaris, etc. (and if you have a GUI, then using a cross-platform toolkit, and separating GUI from backend as much as possible to facilitate even changing that). Then should issues arise (not just with licensing!) you can adapt.

    1. Re:Yes, of course you can by Anonymous Coward · · Score: 0

      "In fact you can even use a GUI, assuming you pick GNOME/GTK+ (not KDE/Qt)."

      LOL, not only there are BSD trolls here, but there also are some GNOME/GTK+ trolls...

      1. GTK+/QT are toolkits for GUI building GNOME/KDE aren't
      2. You can have closed source, statically linked application that uses Qt. Opera is a good example of this kind of application. You just need to get Qt with a correct licence and statically link to that.

    2. Re:Yes, of course you can by Anonymous Coward · · Score: 0

      Note, however, that from GPL3 and onwards, assuming projects adopt it, you will not be able to Tivo-ise your hardware.

      Neither will he with GPLv2. The GPLv2 does not allow Tivo-isation, it has a loop-hole that Tivo's lawyers have been able to slip through. Please don't recommend anyone trying this without having lawyers telling him exactly where it is safe to go - one wrong step and he will be breaking the law.

    3. Re:Yes, of course you can by kripkenstein · · Score: 1

      You can have closed source, statically linked application that uses Qt. Opera is a good example of this kind of application. You just need to get Qt with a correct licence and statically link to that.
      Of course you are right, IIRC Skype is another example. But it costs money, that is, they expect something back if you develop on their platform (with Qt you can either be GPL, or pay Trolltech). With GTK+, on the other hand, you don't have these issues. Note that I'm not saying what is better (perhaps it is better to discourage proprietary development?), just facts.
  26. Re:Why closed? by Anonymous Coward · · Score: 1, Insightful

    Because he wants to make some money out of his programming without having to work for a massive company.

    He's also trying to create a product for Linux users that, I dunno, might actually make Linux more attractive to current non-Linux users, which would help defeat the Windows menace.

    Take your blinkers off and look at the big picture, your zealotry is what gives the rest of us a bad name.

  27. oops - oversight in previous post by jnelson4765 · · Score: 1

    Missed the "static linking" in the OP - that does need to have a compatible license.

    But honestly, the last time I built something statically-linked for distribution, it was a tweaked OpenVPN for DD-WRT - unless you're running this on a device equally small, don't bother with it (it's a real pain).

    --
    Why can't I mod "-1 Idiot"?
  28. Why you will fail: by nietsch · · Score: 1

    The moment you wish to start selling appliances(like you do) the software is only a minor part of it. All the other problems of manufacturing and marketing will be a much bigger hurdle. You are not disclosing what market you will be aiming at, which makes me guess that it's a new market that has not proving its profitability yet. Lastly you have decided to go closed source, but you are not letting us in on how you came to that conclusion. That makes me think that you know your reasons for closed source are weak, and you are just trying to dodge the flak on it. That makes you stubborn and thus inflexible.
    I think you are not seriously considering anything like this, you just found a good way to stir the pot and enjoy looking who is taking your flamebait. Yes, I did too, always glad to make some loser happy.

    --
    This space is intentionally staring blankly at you
    1. Re:Why you will fail: by moderators_are_w*nke · · Score: 1

      I don't think that was what he was asking.

      --
      "XML is like violence. If it doesn't solve your problem, use more." - Anonymous Coward
  29. Yes you can by mikefocke · · Score: 1

    I just bought a Sony TV that has embedded Linux and whose documentation contains the appropriate credits and disclaimers. You can assume they did the appropriate legal investigation before they based their rendering engine (the software that converts one form of display coming in over cable to the native resolution of the TV screen) on Linux and OSS libraries. My cable box does too.

    So be reassured, if the big boys do it with much to lose (the rendering engine is one of the few product differentiators the flat screen TV makers have and the cheap panel makers would love to have Sony's), so can you.

    Having said that, every time you use a library, you need to read and understand the licensing terms of that library.

    1. Re:Yes you can by BokLM · · Score: 1

      Having said that, every time you use a library, you need to read and understand the licensing terms of that library.

      And that is true whatever the license is, this is not specific to GPL or open source licenses.

  30. Answers by jrumney · · Score: 1
    1. Maybe and maybe
    2. Maybe
    3. Yes
    4. Maybe
    5. No

    Without knowing exactly what libraries you're planning to link against, and what DRM "features" you plan this embedded device to have, the answers really can't be any better than that. With regards to static linking, if you can dynamically link to the library then you can statically link. I'm not aware of any software license that makes a distinction.

  31. Take, take, take? by winchester · · Score: 5, Insightful

    So you are interested in using other people's work, you are interested in getting other people's opinions, all for free, yet you contribute nothing to the community that gave you so much...

    Some people would call that selfish.

    Here is my advice: talk to a lawyer who is knowledgeable on licensing and IP matters.

    1. Re:Take, take, take? by tehcyder · · Score: 1

      So you are interested in using other people's work, you are interested in getting other people's opinions, all for free, yet you contribute nothing to the community that gave you so much...

      Some people would call that selfish.

      But in business it generally pays to be selfish, so expecting all budding entrepreneurs to be anything else is just wishful thinking.
      --
      To have a right to do a thing is not at all the same as to be right in doing it
    2. Re:Take, take, take? by JonathanR · · Score: 1

      Business is a series of market transactions. By definition, market based transactions involve mutual benefit of both parties, else the transactions won't take place.

      If you can demonstrate a sustainable selfish business model, then you're not running a business at all, you're running organised crime.

    3. Re:Take, take, take? by 26199 · · Score: 0

      Hmm. Seems "take" is not the right word.

      After all, copying (free) software does not deprive the writers of anything.

      Perhaps "use, use, use" would be better?

    4. Re:Take, take, take? by Cadallin · · Score: 1

      Ah, one of the fallacies of modern Neo-Classical economics. Incorrect. What thought experiments of absolute advantage show is that it is possible, at least in theory, for both parties to benefit from trade. In reality, absolute advantage is relatively rare. Thus it often seems to one party that the exchange benefits them, (example: Native americans trading land to Europeans for beads), when in reality its a horribly bad idea. Another example - trading to export your native manufacturing base to another, potentially hostile country, or becoming dependent on resources from countries that are in fact hostile. The goods they offer may be cheaper, but the other prices they carry may be very, very high.

    5. Re:Take, take, take? by turing_m · · Score: 1

      "By definition, market based transactions involve mutual benefit of both parties, else the transactions won't take place."

      There is a huge amount of gray area in that definition, which works better as _perceived_ mutual benefit.

      Legalized gambling, legalized prostitution, legalized drugs are all obvious cases where the "mutual benefit" isn't so mutual. Not to mention much of the cosmetics industry, most MLM schemes, quackery, lawyering, etc. All of which are legal, sustainable and selfish business models.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
    6. Re:Take, take, take? by ericrost · · Score: 1

      MLM is grey on being legal (many many pushers of it in jail) and is not sustainable.

    7. Re:Take, take, take? by bestalexguy · · Score: 2, Insightful

      We all use English language, most of the time without addressing grateful thoughts to Chaucer, Shakespeare, Joyce and many others.

      Many of us don't contribute to this "other people's work" (too many do and should not).

    8. Re:Take, take, take? by Austerity+Empowers · · Score: 1

      Here is my advice: talk to a lawyer who is knowledgeable on licensing and IP matters.

      And he too, will expect to be paid for his contribution to your company.

    9. Re:Take, take, take? by gnuman99 · · Score: 1

      Yes it does. Copying and using the *source* of a GPL application as per the GPL license *restrictions* is no problem according to the letter of the law and to the wishes of the copyright holders. Modifying and not releasing the changes to the GPL application when you release your binary, breaks the license. The law states that you cannot do this. There are real panalties for breaking copyright - financial and even prison sentences (read the Law). Copyright is in Criminal Law (patents are civil law only).

      Examples of some projects that could claim damages:
          * IBM contributions to Linux - close Linux and IBM would argue that you are essentially stealing their development resources - they'd be correct
          * MySQL - very clear dual license model
          * Qt - again, very clear dual license model

      The last two would result in large damages to be awarded, no question there. The first one would probably result in the same. At least they could insist that any revenue you get is from their work hence they are entitled to all of the revenue (think man-hours worked).

      So, when writing the software, at least follow the license.

    10. Re:Take, take, take? by 26199 · · Score: 1

      Er. I don't think my post contained the word "modify".

      Your post makes sense, but it doesn't seem to be a reply to mine...

    11. Re:Take, take, take? by JonathanR · · Score: 1

      Thus it often seems to one party that the exchange benefits them, (example: Native americans trading land to Europeans for beads), when in reality its a horribly bad idea. You're confusing lack of long-term strategic business planning with short term trading decisions. At the time of the exchange, both parties placed more value on the goods they were to receive rather than the goods they were handing over. Buyer's remorse does not negate this reality.

      My original comment was directed at the previous posters assertion that you have to be selfish to be successful in business. This is definitely not the case. You have to be sure to look after your self interests, else you'll trade your way to oblivion. You can't be selfish, else you won't find people to trade with.

      Have a read of the definition of selfish. You'll find that a key point is the lack of regard for other's interests. If you lack this regard, you'll never be able to identify your customer's needs, hence, you'll not be able to locate your customers.
    12. Re:Take, take, take? by Cadallin · · Score: 1

      Of course, the theory also assumes that the market will be efficient enough to prevent this (trading yourself into oblivion on a truly massive scale), and assumes perfect rationality to look after one's own interests.

  32. Obfuscation is great... by Anonymous Coward · · Score: 0

    ... You definitely need it if you want to hide your gpl violations properly.

    Good idea to cover your tracks that way!

  33. Some answers by NoOneInParticular · · Score: 1
    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Yes, no problem

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    Although myth has it that the GPL makes a difference between static and dynamic linking, the opinion of the FSF seems to be that to be derivative code, simply means that the code is dependent on the presence of the library. If it is, it is derivative. If not, it's not. So, take for instance SWI-Prolog. The GPL version comes with readline (dynamically linked, but still forcing that version to be GPL). The non-GPL version comes without (dynamic linking suppressed).

    However, for your stated goal, all you will do is link against libc and libstd-c++. Both of these have an exemption clause. Just be sure that all other libraries you link against are LGPL or BSD licensed, or otherwise try to buy a license.

    3. Can I obfuscate my code (e.g. encode it)?

    If you are not licensing it under GPL or such, of course you can obfuscate it. Don't see why though, as you are distributing executable, right? If you are forced to open source it due to using GPL code, no, you cannot obfuscate your source.

    4. Could I be forced to publish this code by some 3-d party?

    Unless you illegally distribute someone else's code, you can't be forced. Can Microsoft be forced to publish their code? Not unless they do something illegal.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    No, BSD boxes also come GPL libraries, you just have to know what you use.

    As with all software development, you have to make sure that if you use 3d party code (be it BSD, GPL, LGPL or proprietary), that you are allowed to do this. Don't use a library if it doesn't give you permission. Static/dynamic linking is not the issue, it is use. Just play it safe and don't use any GPL code that doesn't give an explicit exemption (the necessary libs give that exemption).

    For your stated goal -- completely self-contained code that doesn't use any outside libraries except the system ones -- it doesn't matter whether you use Linux or BSD. All changes you need to make to linux to put it on your embedded device should however be open.

    And in general, especially if you go the proprietary route: be nice to your free environment, and don't try to leech beyond what is given to you.

  34. Bunch of daft questions by Anonymous Coward · · Score: 1, Interesting

    If you include code you need to abide by the license.

    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.

    1. Re:Bunch of daft questions by Anonymous Coward · · Score: 0

      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.

      BSD is not a copyleft licence.
    2. Re:Bunch of daft questions by Anonymous Coward · · Score: 0

      It doesn't have to be. The BSD is silent on it and it would be useful case law. Add in to this the fact that closing the source code makes it a trade secret (and a trade secret, once out, is unprotected) and you have some interesting outcomes.

      Even if this is incorrect, I can still absolve myself of many counts of copyright infringement by using the "I needed to get the BSD code and this is how I did it. The changes they made to the BSD code are, as far as I've been able to assert, de minimis and in non-protectable content".

      So I may be told to not distribute most of your code, but I may still get access to your changes to the BSD base.

      Go on, ask a solicitor if that is a risk. I bet they'll say yes.

      Read the license: one reason it is shorter than the GPL is because it doesn't specify how YOUR changes to BSD work are protected.

      Last point: what if I patent what you do in code? That's mine, now, sucka!

    3. Re:Bunch of daft questions by init100 · · Score: 1

      The GPL (and LGPL) don't allow static linking

      As other people have written, the LGPL actually allows static linking, but you need to provide source code and/or compiled object files for the binary so that the binary can be relinked with a modified version of the library.

  35. Answers by TheRaven64 · · Score: 1

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)? The GPL requires you to give the same freedoms to your customers as you yourself receive in any code that is a derived work of the GPL. If you are not planning on modifying Linux, then all you need to do is make a copy of the source code available to your customers. Note that saying 'get it from kernel.org' has been shown not to be a valid work-around for this; you will need to keep a copy of the source code that you distribute for the unlikely event that the upstream source stops distributing it.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.) I don't really know what you mean by 'Linux libraries,' and it makes me wonder if you really do know enough about Linux to do this. Most 'Linux libraries' are actually GNU libraries. The standard C library for Linux is glibc, which is LGPL. If you statically link to an LGPL'd library, then you are required to make the object code for your application available so that your customers can re-link your code to a new or modified version of the LGPL'd library.

    If you are making an embedded system, this could be difficult, since it would require you to make it possible for end users to modify the code running on the device. Note also that some libraries for Linux, such as GNU readline and Qt, are distributed under the GPL, so any code that links to them must also be GPL'd.

    3. Can I obfuscate my code (e.g. encode it)? I thought you said you were making it closed-source?

    4. Could I be forced to publish this code by some 3-d party? In theory, if you violate a license, it's possible. What is more likely is an injunction preventing you from distributing the (L)GPL'd code that you were using in contravention of the license.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems? Correct for the most part. Of course, if you use any LGPL'd or GPL'd libraries on top of any BSD then you are still bound by the license.

    If you are making an embedded system, one of the BSDs is probably a better choice. The clean separation between the base system and third party software makes it much easier to develop this kind of thing, and to audit licenses. If you take something like OpenBSD, then everything in the base system can be used in an embedded context with a closed-source application, and you can check the license of anything else you install after that quite easily.

    Linux has the buzzword-compliance, but it's not always the right tool for the job.

    --
    I am TheRaven on Soylent News
  36. Remember Kororaa? by andersRson · · Score: 1

    The kororaa project made a live-cd with linux, x11 and proprietary drivers for video cards from nvidia and ati. They stopped distributing it because som kernel devs claimed it was a violation of the GPL to distribute GPL software and GPL-incompatible software on the same media. That sounds like what you were planning on. Also, i think that you are not allowed to link statically to GPL'd code, not sure about LGPL either. You can link dynamically to LGPL though. see http://kororaa.org/static.php?page=gpl

    1. Re:Remember Kororaa? by jrumney · · Score: 1

      violation of the GPL to distribute GPL software and GPL-incompatible software on the same media.

      That's not quite the full story. Binary kernel modules live in a grey area already. They get away with distributing them separately, because it is the end user who links the shim to the binary module, and under the GPL the end user is free to do what they like if they do not distribute the results. Once you start shipping a distribution with those modules enabled by default, you are breaking the GPL.

  37. Nobody can force you to open your code by GauteL · · Score: 1

    ... as long as you are the copyright holder.

    If you happen to include GPL-code in your closed source software you may get sued, you may be forced to remove your product from the market until you have removed all GPL-code from it, and you may be forced to pay compensation. But you are still the copyright holder, and nobody has any claim to your code other than you.

    The only way I can see you could be forced to open your code, is if your company don't have the means to pay compensation and don't have the finances to stop selling the product and remove all GPL-code.

    GPL-code and proprietary code are thus not different. If you include either in your product without permission, you are at risk to being sued. But in neither case does the owner of included code have any claim to your code. The GPL is thus not viral, that is just a lie fed to people by for instance Microsoft marketing. Using GPL-code does not 'infect' your code, but of course you can be sued for copyright infringement.

    The only difference between using someone elses proprietary code without permission and using GPL code without permission is how easy it is to find GPL-code to misuse.

  38. detailed answers by Anonymous Coward · · Score: 0

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Yes, you can. Just remember that both GPL2 and GPL3 force you to provide the source code of the kernel (and any modification you make to it) to your customers. The same applies to all other software included covered by the GPL, like for instance the GNU C library (glibc).

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    There's no problem with glibc. For other libraries you plan to use, have a look at their respective licenses. If it's LGPL it will be OK. Again, remember you have to provide the source code of the libraries to your customers.

    3. Can I obfuscate my code (e.g. encode it)?

    Of course you can, but this will buy you nothing. If you have to modify the kernel or some library to make it work with you device it would be much better for you to share your modifications with the community. This way you get good PR and maybe some help maintaining those modifications from the developers. Beeing open will help you in the long run. That's what Open Source is about ;-)

    4. Could I be forced to publish this code by some 3-d party?

    Only if you violate their license. Those are the things you want to avoid:

    - linking with a library under the GPL (not LGPL!)
    - modifying a GPL or LGPL library or program.

    Watch out for other licenses (not all is GPL or LGPL): X11, MIT, BSD, MPL... It all depends on the software you're using.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    No. First, programming in Linux doesn't tie you to any license, only *distributing* the program ties you. Second, in a BSD box you can have programs and libraries under any license: GPL, MIT, whatever. Using BSD doesn't magically free you from your obligations if you use a GPL'd library. But... you will not need to distribute the source of the BSD kernel and the BSD C library to your customers, even if you make modifications (but you won't get any help).

  39. You're trusting your businesses legal fate to /.? by Anonymous Coward · · Score: 0

    You need to ask a real lawyer these questions and get their answer in writing. A lot of good the answers you receive here will do you if you get dragged into court. "But your honor, a bunch of kids who live in their moms' basements said it was legal!"

  40. NetBSD by PhotoGuy · · Score: 1

    Unless there is some compelling pieces of Linux software or specific driver support that you need on your embedded system, and even though (as a few have indicated all ready), you *can* do it with Linux, why bother?

    If you use BSD (the base, and not the GPL ports stuff) you're 100% completely free to do whatever you want with the code for kernel and operating system, to your heart's content, without ever worrying about a thing.

    NetBSD is BSD licensed (of course), and runs on such an incredibly wide variety of processors, greatly increasing your choice of embedded platform. It is used a lot in embedded systems, and it would be my first choice. It's a small, fast, portable distribution. Try it out. If it does what you need, use it. That would be my recommendation.

    As far as a development environment goes, I had it fired up awhile back, and installed all the optional (and GPL) port stuff, including KDE, Gnome, yadda, yadda, yadda. Everybody who saw the desktop assumed it was a Linux box. It's pretty hard to tell the difference in daily use when you install all the optional gunk. So if wanting to use Unix for it's desktop development environment is a factor, do try NetBSD (or another BSD) with all the add-ons.

    --
    Love many, trust a few, do harm to none.
  41. the basics are: by Britz · · Score: 1

    Look at the license of the libs you want to link to, not the underlying OS. You can run and sell Linux with your code if the program simply runs on top of the operating system. There are many, many people selling servers with Linux and proprietary programs combined. But when you link (especially statically) into libs, it doesn't matter if you run Windows, BSD or Linux.

    But I get the feeling that this is too simple and you might have wanted to know something different. Please comment.

  42. Re:Get a lawyer. by oliderid · · Score: 1

    [snip] the smart ass answer

    >> 5. Am I correct that programming in and selling BSD-based
    >> boxes won't raise any of the above problems?

    >What are BSD boxes?

    A Computer running BSD. Genius.

  43. Good answers here by Cheesey · · Score: 1

    Parent has good answers.

    Basically, making non-free software for Linux really isn't a big deal - at least, no more so than making non-free software for any other OS. Check the licence terms on the libraries that you make use of, and use dynamic linking to avoid having to build LGPL'ed code into your program. This is exactly what you would do if you were making non-free software for Windows or Mac.

    GPLv3 does not affect this advice, because even if GPLv3 is incompatible with your requirements in some way, you can just continue to use GPLv2. GPLv3 doesn't automatically supercede GPLv2 - you'll only be forced to adopt GPLv3 licencing terms if you incorporate GPLv3-only code.

    --
    >north
    You're an immobile computer, remember?
  44. Don't be lazy. Read the licenses. by mmcuh · · Score: 0

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)? Have you even read the license for Linux (the GNU General Public License, version 2) ? Writing a program for an OS licensed under that licence does in no way force you to use that licence for that program.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.) What "Linux libraries"? If you mean glibc, then yes. Have you even read the licence for it (the GNU Lesser General Public License version 2.1) ?

    3. Can I obfuscate my code (e.g. encode it)? You can do whatever you want with your code, but since you're not going to show it to anyone that sounds both stupid and paranoid.

    4. Could I be forced to publish this code by some 3-d party? Not for any of the reasons given above.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems? Which problems? If you're going to write software that uses other people's code (libraries etc) you need to make sure that you are not using that code in ways that you are not allowed to. That goes both if you are writing free software or secret closed proprietary software. Read the licences for all the libraries you are going to use, whether you are writing for BSD or Linux or Windows. Really.

    Oh, and go to hell with your @#$ closed code. Why should we help you when you're not going to help anyone else?
  45. Re:Why closed? by moranar · · Score: 2, Interesting

    He could easily sell his boxes while providing code: the markets for the boxes and the code just need to be separated enough. An example: digital picture frames could be running GPL code: the buyers of those don't quite intersect with the people who want the code, and even in that case, they normally wouldn't be interested in the hassle of reproducing the product.

    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.

    --
    "I think it would be a good idea!"
    Gandhi, about Internet Security
  46. Even so, by hummassa · · Score: 5, Insightful

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)? A1. Yes -- unless you are making some kernel module that is a derivative work of the kernel, where your kernel module will have to be licensed under the GPLv2.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.) A2a. Linux (the kernel) does not come with any libraries for you to link.
    A2b. GNU/Linux (the whole system) comes with many libraries, some of them BSD-licensed, some GPL-licensed, some GPL-with-linking-exception-licensed, some LGPL-licensed, etc... it's a common interpretation of the GPL that if you link to a GPL-(no-linking-exception) library (like GNU readline or Qt) you are making a derivative work and thus, you have to license your work under the GPL.

    3. Can I obfuscate my code (e.g. encode it)? A3. You can do this in any case -- except (maybe, IIRC) if you are distributing your code under the GPL/LGPL.

    4. Could I be forced to publish this code by some 3-d party? A4. Not really (parent poster is right on the mark)

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems? A5. Yes you are. BUT...

    and I mean this respectfully: as you will be selling your box as an embedded utility, what do you have to lose by GPL'ing (or otherwise opening) your code? If you do things right, you will have:
    I. a community of people that are willing to buy your box to start;
    II. a community will want to tinker and make your product better, fast, and you get to incorporate the changes for the next versions of your product;
    III. the respect of a lot of people.

    Example: lots of people I know have Linksys (WRT54G[L]) wireless routers _because_ they know they can tinker with it, that there are lots of new, interesting uses to it with the alternate verstions of the software, etc. I, myself, when installing SoHo wi-fi networks _only_ recommend WRTs to my clients, as opposed to non-tinkerable D-LINKs that here in Brasil cost 30-40% less.
    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    1. Re:Even so, by Anonymous Coward · · Score: 5, Insightful

      Yeah but Cisco makes money off of the hardware. This guy doesn't sound like he's going to be doing that. I think his concern is if his code is open, what stops someone else from adopting the same business model?

    2. Re:Even so, by MindStalker · · Score: 2, Informative

      Thing is linksys is using custom hardware. This guy is probably using commodity hardware, so what he is selling is his software, bundled with hardware. If people could buy the WRT54G routers as commodity hardware they would.

    3. Re:Even so, by demallien2 · · Score: 2, Interesting

      A5. Yes you are. BUT... and I mean this respectfully: as you will be selling your box as an embedded utility, what do you have to lose by GPL'ing (or otherwise opening) your code? If you do things right, you will have: I. a community of people that are willing to buy your box to start; II. a community will want to tinker and make your product better, fast, and you get to incorporate the changes for the next versions of your product; III. the respect of a lot of people. Yeeeessssss, but, I'm guessing he's going to have some DRM in there, hence the interest in obfuscation.
    4. Re:Even so, by morgan_greywolf · · Score: 1

      3. Can I obfuscate my code (e.g. encode it)?

      A3. You can do this in any case -- except (maybe, IIRC) if you are distributing your code under the GPL/LGPL.


      There's nothing specific in GPL/LGPL except that it says the code must be in 'human readable' form, which could mean that you can't obfuscate it. There are specific terms dictating that you can't obfuscate your code with GPL 3. So remember that if you have any code that must be GPL'd because it's using GPL libraries, especially GPL 3 libraries, then no, you can't obfuscate that code. Any code that does not link to GPL libraries (and therefore does not need to be released under GPL) can be obfuscated.

      It's also important to note that just because you have to GPL a kernel module, it does not mean you have to GPL the whole damn project. Just the kernel module. Other code that doesn't link or combine to GPL code, and does not use GPL code, is fine to be closed source.

      as you will be selling your box as an embedded utility, what do you have to lose by GPL'ing (or otherwise opening) your code?


      Without knowing the details of your box, I would say probably nothing. People aren't buying the code, they're buying the box. Even if you consider that having the code means someone with enough integration and development experience can make one of your boxes, most people don't have that, and those that do will probably buy your box anyone because it isn't worth their time or effort to integrate everything when they can just buy your box, especially if the box is priced appropriately.

    5. Re:Even so, by thetable123 · · Score: 1

      Example: lots of people I know have Linksys (WRT54G[L]) I'm not a huge Linksys fan, but I do pick my hardware based on compatibility with open source firmware. There are actually a huge number of options out there for gpl compatible devices. I am really happy with the Buffalo products lately. I am running DD-WRT on every router I install and I try to toss DD-WRT at least $10 every time I setup a new AP. Now it is not alot of money, but if DD-WRT were not open source, then I would not be running it and I would definitely not be throwing any money his way. I would probably be setting up much more expensive boxes to do the same thing.
    6. Re:Even so, by information_retrieva · · Score: 1

      as you will be selling your box as an embedded utility, what do you have to lose by GPL'ing (or otherwise opening) your code? If you do things right, you will have: I. a community of people that are willing to buy your box to start; II. a community will want to tinker and make your product better, fast, and you get to incorporate the changes for the next versions of your product; III. the respect of a lot of people.
      The basic question of whether or not to open source is a business descision, but the original question did not mention whether or not any basic market research has been done.

      What do the customers expect?
      How does GPL'ing the code affect the potential size of the market?

      It has been pointed out that open sourcing some products has opened up new markets for those products or make them easier to sell to some customers. I'd like to point out, however, that open source can scare away customers. It depends on the customer, the product and the market you are trying to enter.

      Knowing your customers is a critical part of starting and operating a successful business. Unless your goal is to become a GPL "warrior", I suggest you let the market drive this type decision.

      Good luck.
    7. Re:Even so, by mpe · · Score: 1

      A3. You can do this in any case -- except (maybe, IIRC) if you are distributing your code under the GPL/LGPL.

      You can obfuscate any code you writing, regardless of what licence(s) you use for distribution. N.B. Obscucation is likely to make your code much more difficult to debug. The only difference with GPL is that someone else can unofuscate it and distribute that version.

    8. Re:Even so, by Crayon+Kid · · Score: 1

      Right on. He has to find something else that's extra and only him can provide. Here are a few ideas:

      1. Technical support. He is automatically the ultimate guru on the subject of his software. He can sell that. Depends on the complexity of the software or the integration whether other people can grok the code well enough to be able to offer support as well.

      2. Open up and give away a simpler version, sell the version with more features or the one that scales to more users etc. No sane businessman will say no to this deal. End users can make do with the free version and at the same time they can improve it as a hobby, since the code is libre. And people who really need the bigger version will pay for it.

      --
      i ate crayons when i was a kid and now i have two braincells and the blue ones taste nicer
    9. Re:Even so, by Anonymous Coward · · Score: 0

      What he might loose is that he then becomes a distributor of GPLed software and therefore has to provide the source for all that GPLed software for several years (not sure exactly) to anyone who he has distributed the box to. If he uses the GNU cat program (from core utilities) in his box he will have to make sure that everyone who got cat from him has access to the source of GNU cat.
      If he distributes disks with this along with his box and provides replacement disks when those are shipped broken then I think he's met the requirement, but a lot of companies try to put this on an FTP site and mess up in that they have to provide source to all versions that they've distributed. And he will have to provide this himself. Hot linking or pointing to ftp.gnu.org does not meet the legal requirement here.

    10. Re:Even so, by codeButcher · · Score: 1

      If one would like to keep one's operation small (many reasons, e.g. to be able to pay sufficient attention to enough detail) diversifying your offerings to the market (support, various versions, etc.) are not going to help.

      --
      Free, as in your money being freed from the confines of your account.
    11. Re:Even so, by reanjr · · Score: 2

      Or - and this one's radical, I know - he could sell the closed Software!!!

      It's his software, he should make money off of it as he wants. Do you have evidence that shows that opening up the software on an embedded device would make more moeny for the software developer? Because I'm pretty sure that's his main concern. Not whether random people can get his software for free and tinker with it.

    12. Re:Even so, by Anonymous Coward · · Score: 0

      He has to find something else that's extra and only him (sic) can provide

      For example... he could write a closed-source piece of software that is filling a niche need where no comparable OSS alternative currently exists...

      Flawed point. If no comparable OSS version exists, he is selling something nobody else provided. If a comparable or superior OSS version does exist, then perhaps he's selling the false security blanket of commercial licensing. Regardless, if he can make a living selling closed software, good for him.

      The argument generally goes something along the lines of "well, anybody can code, it's a no-brainer, provide some actual skilled service".

      Well, ok. Then if it's such a no-brainer anybody else should be able to go right ahead and whip up an OSS competitor in no time flat. Otherwise, it's not a no brainer, or it takes time, and he's selling that. Good for him.

    13. Re:Even so, by dhasenan · · Score: 1

      But competitors are buying the box without the code, and they need the code. Releasing your code would then provide a leg up to your opponents. And then, due to their lower R&D costs, they can sell your product cheaper.

    14. Re:Even so, by Bert64 · · Score: 3, Insightful

      But as a small developer, he's pretty screwed anyway...
      If his product becomes popular, it's likely to get cloned either by a larger company selling a commercial version, or by a group of enthusiasts making a free version. Either way, he has no control over the situation and the clones will ultimately take over because they have more developers and in the case of the commercial company, greater marketting clout.

      If it fails to become popular, he will eventually tire of maintaining it for little/no profit, and it will die off... The few customers he does have, will be screwed.

      If he opens it, and it fails to become popular he's no worse off than if he left it closed. However, the few customers he does get are better off, because when he gets tired of pushing an unsuccessful product and gives up, they still have the code and can maintain it in their little niche.

      If he opens it and it becomes popular, he will attract more developers who will help improve the code. He is still in a good position to provide support, and bundled ready to go versions. Especially if the software is tied to a piece of hardware he produces, as people will buy the hardware to hack on it.
      Even if his software is available for free, many companies and end users will buy a commercially supported version instead of the free version anyway. Conversely, an increasing number of businesses will not buy a product that is tied to a single supplier, because of the risks of losing support if that supplier disappears.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    15. Re:Even so, by Anonymous Coward · · Score: 0

      You forgot the third option for closed source: His product becomes popular, and his company is purchased by a larger company.

    16. Re:Even so, by trolltalk.com · · Score: 1

      "Technical support. He is automatically the ultimate guru on the subject of his software."

      Do you expect "technical support" on an embedded BSD or linux system from someone who finds #including <dlfcn.h> and making a call to dlopen() to be "too complicated"? Surely, you jest. Let me rephrase that - Shirley, you jest. You'll be better off asking Apu at the Qwiki-Mart. At least you'll get an authentic-sounding "tech support" accent.

    17. Re:Even so, by avxo · · Score: 1

      [...]it's a common interpretation of the GPL that if you link to a GPL-(no-linking-exception) library (like GNU readline or Qt) you are making a derivative work and thus, you have to license your work under the GPL.
      It may be common, but that doesn't make it right. A good example of why linking does not necessarily imply derivation is this:

      You develop a non-open-source program, and decide to dynamically link to "oolib.so" which is also non-open-source. I come along, and develop (under the GPL) "foolib.so" which happens to be compatible with "oolib.so". If I force your program to load "foolib.so" instead of "oolib.so" (and there are many ways) is it your position that your program has:

      1. Become a derivative of a work that came _after it_ and it has no knowledge of
      2. Your code has linked into GPL code and is now automatically GPL?
      Similar arguments can be made for static linking and "oolib.a" and "foolib.a" Also, keep in mind that it is settled law that only a creative process can create a work for copyright purposes. Linking is most definitely not a creative process. It is a purely automated and mechanical process, and so the act of linking cannot create any kind of work, derivative or otherwise.
    18. Re:Even so, by mrbooze · · Score: 1

      Ack, is there a greater hell than to pin your entire income on doing technical support for the rest of your life?

      Seriously though, I see that suggestion often, and as someone who spent 6-7 years on a helpdesk, I can say with all certainty, there is no way in hell I would pin my income on spending a lifetime of doing technical support.

      But if you're an open source developer, and you want to try and make money off of how poorly your software is built (how hard it is to install, how unintuitive it is, how poorly documented it is, how buggy it is) then seriously, more power to you. You are a better man than I. I'd be up in a bell tower with a rifle after a few more years of that.

      In all seriousness though, one suggestion I would have for the OP would be to consider releasing your product as a virtual appliance, at least for demo/trial purposes. Being able to test software by firing up a pre-installed and configured virtual machine is often a very nice option these days.

    19. Re:Even so, by FutureDomain · · Score: 1

      If he opens it, and it fails to become popular he's no worse off than if he left it closed. However, the few customers he does get are better off, because when he gets tired of pushing an unsuccessful product and gives up, they still have the code and can maintain it in their little niche. But he wants to make a living off of it. I would suggest that he keep it closed if he wants to make money off of it. But if he decides to drop it, he ought to BSD the code and give it away, especially to his customers. Netscape did this, and the project that you open sourced might become popular by itself. But there isn't a very strong business case to selling open source software, unless it's with enterprise support (think Redhat, Novell, MySQL).
      --
      Hydraulic pizza oven!! Guided missile! Herring sandwich! Styrofoam! Jayne Mansfield! Aluminum siding! Borax!
    20. Re:Even so, by msuarezalvarez · · Score: 1

      The GPL one takes care of distribution. The only way your scheme could work if you somehow managed to convince the GP to distribute his code with your foolib.so

    21. Re:Even so, by shaitand · · Score: 1

      Minor correction:
      'A2b. GNU/Linux (the whole system) comes with many libraries'

      There is no such thing as GNU/Linux. There is the Linux operating system (aka kernel) and then there are Linux based distributions which couple the Linux operating system with libraries and applications that make the system more functional for users. Those distributions may or may not include GNU applications and libraries and those would be the only portions it would be appropriate to refer to as GNU.

      Of course there is a conflict in the original question. The original poster first claims that he is writing the software 100% from scratch and then asks about linking to Linux libraries.

    22. Re:Even so, by Antique+Geekmeister · · Score: 1

      He wasn't discussing kernels specifically. Making *ANY* significantly derivative work from GPL licensed software is just like copying anyone else's code: it can be a violation of their copyright if not done correctly. It's potentially even worse if you violate patents in the US, since there is no "fair use" for patent violation. And you need never have seen or been aware of a patent to duplicate it, nor do you have to use the same code.

      This is why source projects like Samba and many closed source projects rely on extensive "clean room" development techniques, so that they avoid risk of contaminating the with closed source tools and violate those copyrights or license agreements. It's vastly, vastly simpler to start with and work under a good GPL or other open source license, at least in development terms.

      The GPL protects you, and anyone who might want to use your products, from exactly this risk. It also protects your clients from "abandonware", where you go out of business or get arrested for murdering your wife (like Hans Reiser of reiserfs fame). It makes you a consultant in producing a product, and provides a business for you and other people to integrate improvements and expand your market. To do this, you have to continue to develop: you can't just sell a killer product once and rely on your "secret sauce" in your software to bring in revenue forever.

    23. Re:Even so, by Anonymous Coward · · Score: 0

      He's talking about an embedded device. More likely than not statically linking is preferable to dynamic linking because of limited stack space or similar.

    24. Re:Even so, by trolltalk.com · · Score: 1

      Like a lot of posters, I'm in doubt about the seriousness of the whole question. It sounds like somthing a high school student would ask. The question said the reason that dynamic linking was ruled out was because its "too hard", when its one of the easier things to do.

      If it was Troll Tuesday, I'd say the editors were playing with us.

    25. Re:Even so, by darnok · · Score: 5, Informative

      > But as a small developer, he's pretty screwed anyway...

      > If his product becomes popular, it's likely to get cloned either by a larger company selling a commercial version, or by a group of
      > enthusiasts making a free version. Either way, he has no control over the situation and the clones will ultimately take over
      > because they have more developers and in the case of the commercial company, greater marketting clout.

      Come on - it's quite possible to make a popular product and derive a quite nice income from it, without attracting the attention of cloners and large companies.

      Big Co are only interested if they're going to make mega millions out of it - if you're making a few hundred thousand a year, you won't even show up on their radar. There's an awful lot of software out there that falls into that category.

      If you're selling to a tight niche of customers, then only people in and around that niche are likely to even be aware that your product exists, never mind want to clone it themselves. If you're building software for e.g. dentists, while a few dentists may want to add new shiny features to your product, it's highly likely that they'd want YOU to do it for them, rather than track down some software developer, pay him to clone your software and add their desired features to it. Conversely, while a random software developer might come across your software and think he can clone & extend it, he then also has to create a means of distributing his software (no, dentists won't downloaded their critical software from SourceForge), building relationships with an existing base of dentists, then providing support to those dentists (with all the associated issues of dealing with non-IT literate users).

      I've got a mate who runs a garbage collection business. Many years ago, he paid a student to create software to allow him to manage his business - sort of a highly-customised piece of accounting software. He still uses that software, still engages that ex-student (now working in IT) to support & extend it, and is extremely happy with it. Shock, horror - it runs on MS Access. He's very happy with the software, and the guy who wrote it has both made a nice side income from it and sold it to a bunch of other garbos - I wouldn't be surprised if he's collectively made a tidy sum from it over a period of several years. Nobody's gonna clone this software, and no big company's gonna be interested in it either.

    26. Re:Even so, by avxo · · Score: 1
      You are correct about distribution, but my example was meant to demonstrate that even if you ignore the considerable legal precedent about mere aggregation and the output of non-creative processes not qualifying as a new work for copyright purposes, you still have one huge problem:

      Namely, that if linking could create a work for the purposes of copyright you would invariably end up with situations that make no sense, such as program A, written in 2004, becoming a derivative of B, written in 2007, by linking. Just to clarify B did not exist when A was written, and therefore, code which A could not be a derivative of. Does that "compute?"

    27. Re:Even so, by msuarezalvarez · · Score: 1

      If you are not able to comply with the license, then you are not able to distribute it. That's all there is to it.

      I do not understand what you say that in that situation does not make sense. A does not become a derivative: the whole "A linked to B" is what is a derivative. Clearly, B has to preexist for there to be a "A linked to B".

    28. Re:Even so, by XdevXnull · · Score: 1

      Good example: Asterisk is free, but the developers sell custom hardware. Wildly popular.

      --
      "I'm a Laver, not a Phyto[plankton]"
    29. Re:Even so, by Anonymous Coward · · Score: 0

      Big Co are only interested if they're going to make mega millions out of it - if you're making a few hundred thousand a year, you won't even show up on their radar. Like QDOS which was bought by a little company called Micro-Soft.
    30. Re:Even so, by Gorshkov · · Score: 1

      High school students aren't allowed to ask questions? (Not that I'm making that assumption). Asking a question indicates a lack of knowledge, and has no bearing on age or maturity.

    31. Re:Even so, by Bert64 · · Score: 1

      That assumes that his product is innovative enough and large enough that it's cheaper for the large company to buy him out than to clone it...
      In many cases a larger company can produce an inferior clone (word vs wordperfect) and use their existing marketshare in another area to make their inferior product take over, so it's often not even necessary to work that hard on a clone.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    32. Re:Even so, by Raphael · · Score: 1

      You can obfuscate any code you writing, regardless of what licence(s) you use for distribution. N.B. Obscucation is likely to make your code much more difficult to debug. The only difference with GPL is that someone else can unofuscate it and distribute that version.

      Wrong. The GPL does not allow you to obfuscate your code. Here is the relevant paragraph from section 3 or the GPL (emphasis mine):

      "The source code for a work means the preferred form of the work for making modifications to it.For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable."

      Obfuscated code would definitely not be the "preferred form of the work for making modifications to it" and is therefore not allowed by the GPL. This requirement is present in the GPLv2 and will also be present in the GPLv3. In the GPLv3 (current draft), check the definition of "Source Code" and "Corresponding Source" in section 1.

      --
      -Raphaël
    33. Re:Even so, by trolltalk.com · · Score: 1
      Read the question in context ...

      1. Posted Anon -1 posted by Anonymous Coward mod
      2. "want to start (very small) software/hardware business". -1 "dev wannabe" mod
      3. the nature of the question itself - 1 "too lazy to just fuckinggoogleforit" mod
      4. "dynamic loading is to hard" -1 fucking moron mod

      Already its a -4 by most reasonable standards. I browse at -1, but this ... its utter crap. Anyone who thinks that calling dlopen() is "too hard" better go back to whatever Microsoft is selling that replaced VB and play with their pretty form designers ...

    34. Re:Even so, by Gorshkov · · Score: 2, Insightful

      Already its a -4 by most reasonable standards. I browse at -1, but this ... its utter crap. Anyone who thinks that calling dlopen() is "too hard" better go back to whatever Microsoft is selling that replaced VB and play with their pretty form designers ...
      For all you know he's a rocket scientist or brain surgeon who's bored and wants to get into something interesting, like programming

      So tell me .... were you born knowing how to use dlopen() et all? Or was there some time when YOU were a beginning programmer, and had no idea wtf you were doing half the time?

      What's that quote ..... "There are no stupid questions - only stupid answers" Guess there's some life in that old saw after all

      Stop being arrogant. Who bloody cares WHY he doesn't know? At least he's trying to learn, and has brains enough to try to learn by asking questions in a forum where somebody might know the answer, instead of staring at the screen, not knowing what to do next.

      It seems to me that the biggest barrier to him doing anything productive is the arrogance of those that have come before him.
    35. Re:Even so, by trolltalk.com · · Score: 1

      Read the ENTIRE article. "I want to start a business" + "I just want to do my job." Well, which is it? Start a business, or do his job? In this case, its neither. Its just useless blather, and people see it, and call "bullshit."

      The person who said "There are no stupid questions - only stupid answers" didn't wait for those 1 million monkeys on one million keyboards to finish. This "Ask slashdot" was one of THOSE questions.

      So tell me .... were you born knowing how to use dlopen() et all? Or was there some time when YOU were a beginning programmer, and had no idea wtf you were doing half the time?
      Anyone wanting to use dlopen just has to look at the links I provided in another post (either here or in another thread - too busy to look). I also linked to example code. Its trivial to use. If you can't figure out how to use dlopen() after reading the examples, I'd hate to see you use something a bit more complicated like, say, printf. (And if you're intimidated by simple functions like dlopen() and printf(), you should give your idea of writing and selling proprietary software a quick reality check).

      Really ... the poster asked for opinions. My opinion is simple - the poster's proposal is less than half-baked at this jucture. Maybe its impolitic to say so, but that's reality. They asked for opinions, and got more than what they bargained for, from some of the other posters' comments.

      This person is not cut out to be a programmer. Let them take up marketing, politics, sales, or some other "fuzzy" problem domain.

    36. Re:Even so, by Gorshkov · · Score: 1
      "Trolltalk" is as fitting a name as I've ever come across.

      Read the ENTIRE article. "I want to start a business" + "I just want to do my job." Well, which is it? Start a business, or do his job? In this case, its neither. Its just useless blather, and people see it, and call "bullshit."
      And I call your "bullshit" supercilious rantings of an arrogant, ignorant know-it-all. If he's starting a business, that IS his job. The two aren't mutually exclusive.

      Anyone wanting to use dlopen just has to look at the links I provided in another post (either here or in another thread - too busy to look). I also linked to example code. Its trivial to use. If you can't figure out how to use dlopen() after reading the examples, I'd hate to see you use something a bit more complicated like, say, printf. (And if you're intimidated by simple functions like dlopen() and printf(), you should give your idea of writing and selling proprietary software a quick reality check).
      Well, let's see ..... I haven't looked to see where you've provided those links either. But think about it for a minite. If you provited those links somewhere in this thread, the he asked the question BEFORE you provided the links - so you can't exactly condem him for not being able to read your mind over the tubes and reading your provided references before you posted them, can you?

      And if you provided them in another thread ... how the hell is he supposed to know what you posted, where? I sure as hell didn't - and I'm not exactly a noob.

      Really ... the poster asked for opinions. My opinion is simple - the poster's proposal is less than half-baked at this jucture. Maybe its impolitic to say so, but that's reality.

      Really .... maybe his proposal IS half-baked at this juncture, as you suggest. And maybe - just maybe - THAT"S WHY HE'S ASKING THE QUESTION, YOU SILLY GIT. My god, man - first you dump on him for not being born with the collected memories of all programmers since the 1950's, and then you dump on him because he's actually looking for information that might help him flesh out his ideas further.

      This person is not cut out to be a programmer. Let them take up marketing, politics, sales, or some other "fuzzy" problem domain.
      I've been a programmer for over 25 years .... but I also remember writing a 1,200 line Fortran programme years and years ago. Then, as I was leafing through the Fortran IV reference manual, I came across a "subroutine" statement, and I couldn't figure out what possible use it could have. After talking to some of the engineers at work (I was a batch terminal operator at a Control Data public site at the time), the lightbulb went on, and I reduced the code probably by a factor of 4 simply by eliminating many, many, many GOTO's and redundant, repeated code. It's called the LEARNING.

      And about 20 years ago, I went out on my own and started my own business. I had no clue about bookkeeping, taxes, business practices, or even how to go about getting a business telephone. I ASKED people. I LEARNED. And the only reason I learned was because the people I asked gave me answers, not attitude, derision, or make themselves feel better about themselves by beating up on the newbie.

      So .... I'm calling you on YOUR bullshit. You had to learn somehow. You wern't born with the knowledge you have today. Somewhere, at some point, you were asking questions about things and people gave you answers. If you're not willing to to the same for others, then STFU, and stay the hell away from Ask Slashdot - we'll all be better off for it.
    37. Re:Even so, by trolltalk.com · · Score: 1

      ""Trolltalk" is as fitting a name as I've ever come across. "

      The domain name had been available for 11 months before I grabbed it a couple of weeks ago, to start a site for tech discussions. You're welcome to submit an article, and if its at all relevant I'll post it on the front page. However, this "ask slashdot" should NOT have been front-page material for any serious site.

      I have no problem showing newbies the ropes - but this "article" was trolling - and crappy trolling at that. I've done my share of trolling (under my main account), and I try to stick to one rule - make sure that it makes people THINK! This "article" suffers from hydrocephaly.

      I'm not the only one who has called "bullshit" on this article. It IS bullshit.

      Look at this choice quote: "I personally got a 'go to hell with your @#$ closed code' slur on Slashdot". So, this has been "asked and answered" before. Nice way to distract us from real issues, like Xandros/Linspire/Novell + Microsoft - ask the same question AGAIN, knowing ahead of time that it will generate a certain response.

      Whick leads me to 2 points:

      1. If the poster has already asked the question and gotten responses, why ask it again (unless the poster is lying, recycling someone else's question in the hope of generating dissention)
      2. If the post is genuine, the poster obviously doesn't have the technical skills necessary to avoid accidental icenses violations. Not when the skill level is "dynamic linking is too hard." They don't have an understanding of the real issues involved with static linkage to GPL or other-type licenses.

      Its either a troll, or a bad business plan with fatal flaws. If its a troll, what's the harm in pointing it out? If its a fatally flawed plan, again, what's the harm in pointing it out?

      But it IS a troll. And one so poorly done that it may end up backfiring on the troll, because people like us can then end up having relatively sane conversations, find out that, despite the troll-baiter trying, to sow dissention we have some common ground in wanting to see genuine newbies who are passionate about code succeed, and take it from there.

      But "I want to do "xyz" and I find "abc" is too hard and don't bother complaining about "def" because "ijk "already did "uvw" ...?" If you're really serious about setting this up as a buisness, and you don't have the skills, you get a partner who does ... This is just a transparent troll submitted by an AC, and should be slapped down accordingly.

      Fortran ... that brings back memories :-)

    38. Re:Even so, by Gorshkov · · Score: 1

      You are going to be one very, very bitter old man ...... I guess the only thing you need to do now is wait to get old.

    39. Re:Even so, by trolltalk.com · · Score: 1

      Tsk tsk tsk ... why is refusing to believe an obvious bogus article a recipe for becoming bitter? Or do you believe in the old saying "ignorance is bliss"?

    40. Re:Even so, by avxo · · Score: 1
      Pure linking does NOT produce a derivative work. In order to produce a work of any kind, for purposes of copyright, there must be creative expression involved. An automated process, like a linker, is not creative, and its output does not, in itself, qualify as a derived work. This is well settled law.

      As for the nonsense that "B has to preexist for there to be a 'A linked to B'" that's... well... nonsense:

      If B is a .so, then linking is involved everytime A runs. If I now write C, in such as way so as to fully emulate B's binary interface, I can have A link to C instead. Does A become a derivative work of C?

      But even if B is a .a, there are still issues: If I can compile A because source is available, and I link it against C (remember, written after A), does A now become a derivative work of C?

    41. Re:Even so, by gnu-user · · Score: 1

      Fair enough.

      But...

      In that scenario, the developer has nothing to lose on open-sourcing it either. The same dynamics apply, whether MS Access or Open-Source.

      This is essentially the "support" model. It's an old model, and it is not a mass market model

    42. Re:Even so, by elysiuan · · Score: 1

      Where does he say that dynamic linking is "too hard"? The exact phrase is "too much to bear". Did you ever consider that since its an embedded system that dynamic linking could cause real problems for it? Or do you just typically gloss over that simple, basic fact when you give out your highly esteemed advice to 'newbie programmers'? Go back to your cute little web site where they'll suck you off and save /. the bother of your continued presence.

    43. Re:Even so, by trolltalk.com · · Score: 1

      Please read the article AGAIN. Nowhere does it say this is for an embedded system. The actual language:

      "I am planning to sell embedded-like boxes with an OS (Linux or BSD) and this code."

      In other words, a bog-standard beige box with a copy of an OS (either linux or BSD) running some closed-source code. Could be a web app, a firewall, a port forwarder, a replicator ... its not stated and we don't know, but what we do know is its NOT an embedded system. Its hardware (a pc) and software sold as closed package.

  47. Macs? by mr-Shutter · · Score: 1

    Some one beat you to it, It is called a Mac.

  48. Re:Why closed? by Anonymous Coward · · Score: 0

    Only alchemists and very poor cooks feel the need to have secret recipes. Look how little mark they leave on the world.

    You mean like Sir Isaac Newton?

    People can have all the benefits of open source code in their closed source products, they just need to stay away from the stinkin' communists who fly to Communist enemies of the free world and write wierd songs about their trips there while brainwashing the youth of America to give up the competitive advantage that their forefathers faught and severely died for to be used by a country with a population three times larger than ours, further empowering our modern day robber barons to ruin the lives of all of generations of Americans to come. Take what you want and tell the Communist or Self-Serving foreign open source people to S.T.F.U.

  49. What type of embedded system? by Cheesey · · Score: 1

    I am planning to sell embedded-like boxes with an OS (Linux or BSD) and this code... Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    It sounds like you are planning to use an embedded version of Linux that does not support dynamic linking well, e.g. uClinux on some MMU-less CPUs. That suggests you will be using non-mainstream libraries such as uClibc which might have special licencing requirements, particularly if statically linked. You should ask your question again on the mailing list or forum for the specific embedded Linux that you intend to use, because general Linux licencing advice may not apply. Find out what licences do apply and seek legal advice.

    One other thing. Remember that even if your Linux distribution does incorporate GPLv3-only code in the future, that cannot stop you from distributing the current version under the GPLv2 if you find the GPLv3 terms objectionable in some way.

    --
    >north
    You're an immobile computer, remember?
  50. You can if you want to... by dkf · · Score: 1

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?
    You certainly can with GPL2. Many people are doing just that.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
    Don't static link (for distribution) with GPL or LGPL code unless you are willing to use a Free license for your code. Not that static linking is a particularly good idea if you've got the system locked down properly (wastes space).

    3. Can I obfuscate my code (e.g. encode it)?
    I'm sure you can write code that any sane programmer would rather gouge their eyes out with a rusty spork than read. It's a bad idea, but it's your code. Be aware that you can't prevent someone determined enough from taking your code apart anyway; you can only make things hard so they don't bother.

    4. Could I be forced to publish this code by some 3-d party?
    For releasing a binary that runs on Linux? No. For fouling up your licensing? Yes. For annoying a court? Yes. Seek legal advice on this if you're worried (but if you don't link against the wrong things, you should be OK).

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
    I don't see them as being big problems anyway, but you right in that BSD-based boxes won't have them at all. Whether you can live with the smaller community developing for that platform (and consequences like less broad hardware support, etc.) is your call.
    --
    "Little does he know, but there is no 'I' in 'Idiot'!"
    1. Re:You can if you want to... by Anonymous Coward · · Score: 0
      I don't see them as being big problems anyway, but you right in that BSD-based boxes won't have them at all.

      Is that right? Surely BSD boxes can have GPLed libraries on them?

      TWW

    2. Re:You can if you want to... by Anonymous Coward · · Score: 0

      Don't static link (for distribution) with GPL or LGPL code unless you are willing to use a Free license for your code. Not that static linking is a particularly good idea if you've got the system locked down properly (wastes space).

      Wrong! You can statically link LGPL code all you want without releasing your source. That's the point of it.

  51. Re:Get a lawyer. by kosmosik · · Score: 1

    >>> 5. Am I correct that programming in and selling BSD-based
    >>> boxes won't raise any of the above problems?

    >> What are BSD boxes?

    > A Computer running BSD. Genius.

    And does it changes anything in terms of GPL? I mean the posterd doesn't even know what he is asking for. He is not asking about linking with some specific libary (then go check it's license). He is basically asking if on BSD boxes different license goes for the same things? If you wish to use some GPL library it is GPLed no matter if your un it on BSD, Linux, Solaris, Win32 etc.

  52. Talk to the FSF by Pvt_Ryan · · Score: 1

    If you ask them nicely they will tell you what you can and can't do with your code, at the end of they day that's (imo) why they exist (to educate people as well as defending OSS).

  53. Re:Why closed? by Anonymous Coward · · Score: 0

    Yeah, those insignificant Microsoft cooks.

  54. Don't statically link libraries by geoff+lane · · Score: 3, Informative

    You _really_ don't want to statically link libraries. If you do, any security problems with the libraries become security problems with your code that can only be fixed by patching all your binaries and not just the library with the problem.

    1. Re:Don't statically link libraries by gangien · · Score: 1

      here's a scenario:

      if i want an app to run without installing other dependencies, how do I do this then, with out statically linking?

  55. Re:Why closed? by dhfoo · · Score: 5, Insightful

    You seem to be looking at it from the wrong angle.

    If you don't care about the GPL, don't use GPL'd software. Simple.

    The only reason we are having this discussion is because GNU/Linux has become so succesfull BECAUSE no-one has been able to hijack it and close it.

    Understand now?

    It's not about zealotry, it's about denying greedy, selfish people the ability to build on the shoulders of others without giving anything back.

  56. Answers by Anonymous Coward · · Score: 0

    Theres no substitute for professional advice, but this should get you started.

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?
    Without knowing what you intend to do its somewhat hard to provide a specific answer. But here goes. Currently under the GPL2 its possible to create a locked box with an underlying GNU/Linux system supporting your commercial applications. Also known as Tivoization. GPL3 will put a stop to that. Ultimately you have an obligation under either version of the licence, the main one being to provide sourcecode for the GPL components you distribute (along with changes you make to those components). GPL3 adds a further obligation, essentially the GPL portions of your product must be freely modifiable by the user (the screw Tivo provision). As long as you meet the obligations either licence impose upon you, then your free to do whatever you want.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
    Yes you can statically link. But if you control the hardware and software on the box dynamic linking isn't really an issue, and does make it easier to upgrade the various free parts of the system without causing to much work for your non free portions.

    3. Can I obfuscate my code (e.g. encode it)?
    What would be the point? The application you write would be distributed as a binary so most users wouldn't be able to view the source. If you encrypt the binary in some way, then you need a way to decrypt the binary prior to execution, and that would be found by the type of user who's interested in decompiling your app.

    4. Could I be forced to publish this code by some 3-d party?
    No. As long as your code is independant of any GPL code then its entirely your decision if you publish the source or not.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
    Tivo as an example has no problem selling boxes based on GNU/Linux, but the BSD licence is far more commerce friendly and theres no risks that a later draft of the licence will screw you.

    I wish you luck in your commercial enterprise, but I fear it may not be enough if you can't distinguish between the value of forum and professional advice.

  57. Actually, won't help anyway by Moraelin · · Score: 1

    Actually, if it's C or C++, I wonder what's obfuscating the source code going to achieve anyway. Once you've compiled and stripped the debug info, it's all machine-code instructions and addresses.

    - The adresses are the same whether you randomized the variables and method names or not.

    - The machine-code instructions... well, an optimizing compiler already does a decent job of jumling that, _if_ you compile with optimizations on. And most simple obfuscation techniques tend to not make a huge difference there.

    E.g., if you went and unrolled loops per hand, well, it won't do much of a difference once the optimizer would do the same unrolling anyway. Using macros and copy-and-paste to inline lots of code and make it hard to follow the logic? Chances are it will look roughly the same as the compiler's own inlining. Etc.

    The only way to really make a difference in the binary output is to really mess the algorithm itself. It's possible, but I wouldn't advise it anyway. I doubt that _that_ many people are qualified to invent a brand new algorithm that (A) does the same thing, (B) does it efficiently, and (C) is harder to understand. Most just manage C, via some spaghetti code or such, but quite often lose A (via bugs) and B.

    --
    A polar bear is a cartesian bear after a coordinate transform.
    1. Re:Actually, won't help anyway by AdamKG · · Score: 2, Interesting

      Obfuscation of binaries is, regrettably, an increasingly refined art. I would take a look at this, a presentation about how Skype does a lot of it's obfuscation, to see the state of the art today. Admittedly, this is Skype, with resources, know-how and a lot of people, but it's quite possible to make reverse engineering difficult. It's just usually not worth it.

      --
      groupthink: It's good for self-esteem.
    2. Re:Actually, won't help anyway by Antique+Geekmeister · · Score: 1

      Maybe turn it into your typical CPAN perl module? (Forgive I've been dealing with a lot of really, really poorly organized and writen CPAN modules lately, from developers who think installing from CPAN is the same thing as source control.)

  58. Ignore the rude fanboys by Viol8 · · Score: 1

    Most of the people who get really worked up and adversarial about closed source on linux are usually kids or stuck-forever-in-academia student types who've never held down a real job or had to earn money for their family using their own intellectual property. If you just ignore those fantasists they'll eventually get bored taunting you and go back to their playstations. Good luck with your project!

  59. If I catch you including my GPL code in your app by Qbertino · · Score: 1

    If I catch you including my GPL code in your closed source app I can't force you to open source the entire app or release/publish/whatever the source of it. I can, however, force you to stop distributing it. And I can sue you to chunky kibbles and into next wednesday for 10 bazillion dollars of damages for copyright infringement and some other illegal activities. And if you use my code and you don't opt to open source your app I probably would sue.

    Hope that answers your question.

    Don't get all worked up about open source. OSS is mostly a devmodel asked for by developers (because it has significant advantages over closed source). End customers just want the app to work. If you app is good and has a fair price no one will give a damn if it's GPLd or not.

    But *you* *absolutely* want to make sure that you're not using some pure GPL source in your libs or something. Otherwise you will hopefully get caught and recieve a legal ass-chewing. Professional developers are fed up with people not giving a shit about copyright just because they are in OSS territory - and for good reasons too. Which, btw., has nothing to do with 'fanboyisim' or something. Do you call Bill Gates a fanboy when he comes to have your behind on a silver platter for you using MS .Net Studio or the likes for something it isn't licenced for? No? Thought so. Ask a question like this in the MS forums and you'll get some snailmail from the MS legal team the next day.

    Bottom line: Be fair and square and don't cheat and OSS will be the best plattform and community to run your stuff on. Cheat and you'll get the bill someday. Good look with your business.

    --
    We suffer more in our imagination than in reality. - Seneca
  60. thats the overall problem with Linux by zakeria · · Score: 0

    Company's really need to feel secure when developing for Linux, its all this licensing garb thats screwing with everything including game development. I know first hand that it stops potential commercial development for the OS therefore stopping the development of Linux in general!

    1. Re:thats the overall problem with Linux by gujo-odori · · Score: 1

      That's actually not it at all.

      Last comment first, "therefore stopping the development of Linux in general" is overbroad to the point of being not even remotely accurate. I've been using Linux for ten years, and as anyone who has been doing so (or even five years) can attest, a very great deal of development of Linux in general has happened during that time, both at the kernel level and at the application level.

      Are there a lot of games for Linux? No. Or commercial applications in general for Linux? No. The reasons why have very little to do with the GPL, however, and a very great deal to do with economics. The fact is, it's really hard to sell proprietary software for Linux, especially in the user application space. Take a look at the proprietary software for Linux market; it's mostly stuff aimed at developers and other IT professionals. Take a look at the failed commercial Linux applications for end users, such as . All end-user stuff. The stuff aimed at professionals is either occupying some small (and maybe difficult) niche, or is so much better than any Free solution in its space that some people are willing to pay for it.

      Why is it so hard to sell proprietary software to Linux users? First of all, we are predisposed to not use proprietary software on Linux. It just bothers most of us. Second, for most proprietary apps that you might want to sell on Linux, there are typically one or more Free ones that will be almost as good, just as good, or maybe even better than your proprietary one. This means that even for the percentage of Linux users who might need or want your proprietary product, most of them are going to find a Free alternative that meets their needs well enough to keep them from buying yours.

      Finally, even if there is no free alternative that can hold a candle to your proprietary product, there will be. If it's actually popular (or maybe even if its not), at least one Free product in the same space will meet or exceed its features after a while, leaving people with no reason to continue buying it. This may eventually happen to even the successful (if small) categories of proprietary software for Linux that I mention above.

      One of the few areas where this doesn't hold very well is gaming. With games, the main issue is purely one of sales volume and potential profit. I know there are other issues, such as hardware-accelerated 3D, but volume is the big one. Being cloned by a Free product is not much of a worry; making a play-alike game and doing it well is difficult and time consuming, and by the time someone got it done, you'd already have your next new game out. It's really just economics.

      Let's say you write a fantastic FPS that is way ahead of any other FPS on the market. The game play, the graphics, the sound, the weapons, the story, everything kills (so to speak) the competition. However, you decide to write it for Linux, and it's so good, so amazing, that every Linux user who likes the FPS genre goes out and buys it, and buys a suitable video card with good accelerated 3D support if (s)he doesn't already have one, just to play your game.

      Just one little problem: you've sold your game to probably fewer people than if 1% of Windows users who like FPS games were to buy it. You do the math and realize that even though you'd rather do the game on Linux, if you want to be able to afford some cool games of your own and some cool hardware to run them on, you'd better write it for Windows, and maybe do a Linux port later as a labor of love. This is, by the way, the reason that there aren't so many Mac games, either (not to knock Macs; I'm writing this on a MacBook Pro and love Macs, it's just economics). Macs have decent accelerated 3D support, but again, if every Mac user who likes FPS games buys a given title, that's still not very many people compared to what you could sell in the Windows market.

      That's why there's not much proprietary development for Linux, in the game space or any other space. The GPL, although no doubt designed and intended to make

    2. Re:thats the overall problem with Linux by zakeria · · Score: 0
      I totally agree with most of your comments, I've been a Linux user/developer for 10+ years and have built my career around the OS, but working in this arena with other developers from other company's I've come to accept that the licensing issue is a real issue in the commercial world. Now imagine Linux had a greater market share with a heavy range of commercial software company's building products, do you not imagine that you would also have a greater games market of course you would.

      When I say that Linux has been held back in general I'm referring to these facts.

      I write 90% of my products directly for Linux its just that its proving hard work when the commercial market is so small, people and company's need to make money not everything can be free if it was the very foundations of freedom would simply collapse. Its great that so many people can develop for Linux and most things are free and you can have the widest choice of products but without commercial products it will be very hard to compete in the real world against people and company's that have another agenda and have big bucks to make sure it stays so as long as possible.

      Now Linux has come a long way and is starting to make and entrance to the desktop world. I just hope more company's get on board and "help" bring it to its true potential that it deserves.

  61. Answers by thetagger · · Score: 1

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Yes.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    Depends on the license. Your problem is with the GPL: do not link to GPL libraries at all, ever! Closed apps can't use them. You can, however, use LGPL libraries if you link to them dynamically (or provide another way for the user to relink the library himself). I don't think you can statically link to them unless you provide that mechanism, which is weird.

    You can, however, ship your own dynamic libraries if you wish. You don't have to use the system's libraries. This is as good as static linking and avoids the legal problems by allowing the user to change the GPL'd portion, which is the point here.

    Also notice that some libraries have special exceptions to the GPL: the Linux kernel itself and the GNU libc are two of them. (You can link proprietary code to the Linux kernel, and you can statically link the libc, IIRC).

    3. Can I obfuscate my code (e.g. encode it)?

    Yes, but there's no point in doing so.

    4. Could I be forced to publish this code by some 3-d party?

    The GPL attempts to be viral - that is, if you do something wrong like statically linking to a GPL library, it tries to force you to license your code under the GPL. This has not been tested in court. What GPL vigilante efforts usually try to do as a first step is get infringers to clean up their code. So, do not willingly violate the GPL, and if you do get one such notice from the community, do stop everything and be sure you are clean and forthcoming about it.

    (This makes GPL compliance look harder than it really is - GPL infringement is, I am sure, intentional and usually made by people who think they can get away with it. This is not your case.)

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    No. It all depends on which libraries you use. BSD systems usually rely more on BSD-licensed libraries, while Linux systems usually rely more on GPL-licensed libraries, but there are BSD and GPL libraries on both sides of the fence, so you should be careful either way. Hell, even if you do Windows development you have to carefully consider every license for every library you use - and there are GPL'd libraries under Windows too. As a developer, you have to respect copyrights and licenses no matter what platform you are developing for. That's boring, but that's the way we get along.

  62. Pay for it by fuliginous · · Score: 1

    If that is your philosophy and total intention why not pay for all the things you are going to use and then have total entitlement to keep things hidden within your world?

    I don't say except to highlight that you sound completely closed to the idea that picking up and using all those things for free leaves you a moral obligation to reciprocate at all.

    It is that perception that probably got you the slurs. For example instead you could price everything you needed in the commercial realms and just donate a small fraction of that to one of the projects, say 10%. Why do that, because if you start using the Free tools it is in your interest for them to perpetuate and so some level of giving back helps ensure your future.

    And looking at your questions yes I think all of them are fine. You really need to go read some of the things the likes of Linus has said about connecting to the kernel. Use the API and build on it and you're fine, integrate beyond that API boundary with actual internal tinkering you begin to infringe the GPL and must publish. (In short)

    1. Re:Pay for it by fsmunoz · · Score: 1

      Indeed. After all, the other developers that made the closed-source alternatives we would have to pay also need to "make a living".

  63. Re:Why closed? by TheCouchPotatoFamine · · Score: 1

    this comment is pure poppy cock, or FUD as someone like yourself would say. You know, for a *individual* keeping source closed makes a lot of sense, especially to begin with. You know why? Listen up, people like to think. To get it right, to not be *rushed*. If he opened sourced this thing and YOU came across it, sounds like the only reward he'd get is you tellin' him how "it's already been done here, here, and here, why bother?"

    exactly the type of motivation that gets you up in the morning, right? Midsize to large companies usually have a persuasive case for opensourcing, but the little guy? When. ever. they. feel. like. it. and because of bullyish peer pressure.

    --
    CS majors know the time/space tradeoff, but they never get taught the 3rd, crucial, tradeoff of the set: comprehension!
  64. Re:Why closed? by Anonymous Coward · · Score: 0

    Actually, you clearly don't know much of the embedded market.
    In this market, competitors will try to copy your product by the simple fact that you are selling it and they don't. Because copying hardware is so easy, one has to rely on some software to give it an market edge (because it will eventually get copied anyway). And once your competitor has it, there usually is some price wars that hurts your botton line. There are already products out there that are not worthy manufacturing outside China due to the ridiculous costs and selling prices.

    One has to understand that proprietary software makers have their own reasons, and they are entitled too. Unfortunally there is no such thing as GPL rentals, supermarkets and gas stations where you can "contribute" some work to get to be able to use their products ;)

    I do closed source software, but I also do open source. Sometimes you can contribute, but one can't realisticly expect that everything to be free and still be able to bring food home. Unless matter-energy convertion and free energy is discovered, we will rely on money for sometime.

  65. Re:Get a lawyer. by Anonymous Coward · · Score: 0

    Hey, kosmosik, you made an ass of yourself. Now just live with it. Till you die or the Internet dies, whatever comes first.

  66. Re:Why closed? by jandersen · · Score: 1

    Don't be silly.

    Open source is given away freely, and if you believe in that freedom, you also believe in others having the freedom to choose differently. I am myself in favour of open source and would definitely be willing to give my software to the community, but there can be many valid reasons why one would have to produce closed source. Eg. if you do a project for a customer who doesn't want the source for his program to be published.

    We shouldn't be religious about this - religion, by and large, has always been and always will be harmful.

  67. go with freeBSD by pyster · · Score: 0

    avoid the linux gpl all together. 'you cant do this, you cant do that, you must include this... blah blah blah'. It's free with tons of strings.

    read the freeBSD license. DO WHATEVER YOU WANT, WE DONT CARE! pretty sweet aye?

  68. Re:Get a lawyer. by Anonymous Coward · · Score: 0

    >Get a lawyer
    Ya, because we all know that lawyers (as in any other jobs in fact) are only made of experts that will always give you the correct answer. No matter if it is on a difficult, often misunderstood, and generally not tested in courts topic...

    Seriously, I don't understand why so many answers say that, is it some kind of magic formula?

    When will we get rid of that THE LAWYER KNOW-IT-ALL crap? It's just sad.

    Sigh...

  69. Re:1,2,3,4,5..6th Q & A by Technician · · Score: 1

    6 Can I make a living at it? A.. not likely.

    --
    The truth shall set you free!
  70. 3. Obfuscation - NO by Anonymous Coward · · Score: 0
    I think he's asking "Can I release obfuscated source to satisfy GPL requirements?" In that case, the answer is definitely no; from the GPL v2:

    The source code for a work means the preferred form of the work for making modifications to it. I'm highlighting this because almost everyone else so far has said "yes".

  71. There may not be any stupid questions, but... by smittyoneeach · · Score: 1

    This does not constitute legal advice, but consider this:
    the point of the GPL is to set up a community wherein source code is treated as chess pieces. Everything sits in plain view. You're asking to change a fundamental assertion about how the community functions. You want a face-down playing card on the board to represent one of your pieces, in your variation.
    No one gets enthusiastic about having their basic assertions tweaked. The reaction is going to range from silence to rage.
    Admired from a distance, one has to admire your courage. It's akin to walking into a kosher restaurant and ordering a ham and cheese sandwich.
    Best wishes,
    C

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  72. wow, talk about a flamebait list of questions by advocate_one · · Score: 1
    you managed to hit every hot button in sight...

    Basically mr. anonymous coward "businessman", if you don't like the license, don't use it.

    --
    Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
  73. 3-D people?! by Anonymous Coward · · Score: 0

    4. Could I be forced to publish this code by some 3-d party?

    The 3-d people are harmless, it's the 2-d people you need watch out for. They have no depth!

  74. byte me by Anonymous Coward · · Score: 0

    you can take your closed source code and shove it up your @$$...

  75. QNX by Anonymous Coward · · Score: 0

    QNX. Get a commercial license for it, use qcc and do whatever you want. It is perfect for the job. You can test development on the free evaluation which reverts to the non commercial (NC) version after a period of a month I believe. The "QNX Momentics 30-day Eval - QNX Neutrino x86 Host" would be the product to try. An application developed for QNX should also build on Linux\BSD\gcc with minimal configuration. Give it a try.

  76. Shared libraries by smcdow · · Score: 1

    My own experience shows that dynamic linking is too much to bear.

    That's curious.

    If you're doing any interop with system commands, local daemon, local facilities, etc., it may behoove you to use the same libraries that they use - and those would be the system-wide shared libraries. Also, if you plan to do field patching and your application consists of several programs that use the same application libraries, you can save yourself a lot of CM headaches by using shared libraries.

    Suggest you read and understand the ld(1) man page, especially the '-rpath', '-h', and '-i' options.

    Best of luck.

    --
    In the course of every project, it will become necessary to shoot the scientists and begin production.
  77. IV 3rd Party Support by Kludge · · Score: 1

    I avoid purchasing anything that isn't disposable and can not be serviced multiple places.
    Would I buy a car that could only be fixed at one service station? Would I buy a home that can only be fixed by one contractor? No way.

  78. The GPL is only a license and never forces by imroy · · Score: 1

    4. Could I be forced to publish this code by some 3-d party?

    I heard Eben Moglen explain this in a presentation he gave a few years ago about the SCO mess. The GPL is only a license. You either abide by it or you don't. It can't force you to do anything.

    Even if you included some GPL code in your app (which from the sounds of it, you want to avoid), you have two choices. You either release your source code under the GPL so you can continue distributing your app (binary), OR you don't distribute anything. It's your choice. A third choice would be to remove the infringing code.

  79. Hardware with closed source drivers by sqldr · · Score: 0

    I'm not going to take the "go to hell" route - what you do is up to you, but consider the practical implications of what you are doing to the consumer - the fact is that I am averse to buying hardware that I cannot get an open-source driver for. The driver won't be installed by default with my distro, it may involve the use of a kernel patch to work, and I can't guarantee that you will always keep your driver up to date with future releases of linux or the GNU utils. If you drop dead, then there may be a kernel release in the future which your hardware won't work with, and I'll be left holding a piece of junk.

    In other words, if you choose the closed source driver route, you are choosing something which is going to be a complete pain in the arse that nobody is going to want to buy. If you really need to hide trade secrets, there's nothing stopping you putting closed source into a chip on the hardware itself, and just use an open source driver in linux to talk to it. Problem solved.

    --
    I wrote my first program at the age of six, and I still can't work out how this website works.
  80. No legal advice is free by erik_norgaard · · Score: 1

    hey, the GPL, LGPL and BSD licenses are there for you to take and use. They have been through the lawyers and are well understood. If you want to write your own code and distribute it under other terms while using/linking against software under any of the mentioned licenses, you need to pay up for the legal advice. Go see a lawyer.

    But is it actually beneficial to use proprietary licenses for your code? This really requires you to write some awesome code that everyone wants - enough that they also want to pay you. OK, nice with some ambitions.

    Otherwise, as a startup, you may actually advertise it as a security that your software is open source: If you go out of business your code will be available for some one to continue and not in the hands of your creditors. Once you get some solid stuff going then you may change the terms.

    1. Re:No legal advice is free by DaveV1.0 · · Score: 1

      But is it actually beneficial to use proprietary licenses for your code?

      He needs for it to be proprietary if he want to be able to sell it and make money. As has been shown numerous times, one can not make money selling source code. Even Novell/SuSE and RedHat make their money on support contracts and not the code.
      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    2. Re:No legal advice is free by erik_norgaard · · Score: 1

      If you choose a BSD style license, you can distribute the compiled code and charge anything you want, you are not obliged to make the source available. What you loose is that you can't charge your client per copy as the license grant them right to create as many as they like. You can't link against GPL code, but you can link against LGPL and BSD code.

      This will be just fine in most cases where you have some special programs and custom code and the client really buys your service. Giving them the compiled rather than source just locks in the client so they will buy your service again, whenever a change is needed.

      If you go down, creditors cannot take code hostage. You can either release the code or start a new business with the original code. This gives your clients a security of availability.

      Hence, using the BSD license for your private projects gives you the best security and clean well understood licensing terms. The likelihood that your program will be distributed without you getting any revenue is limited as long unless it is a well known killer app.

  81. Hear hear by cortana · · Score: 1

    Everyone considering linking statically to anything should read http://people.redhat.com/drepper/no_static_linking .html.

    The issues with dynamically loaded modules it particularly important. For example, if your program's statically-linked copy of glibc tries to load an NSS module from a different version... BOOM! If you link to another library that an NSS module that you load is also linked to, but with a different version... BOOM! And so on. This doesn't apply only to glibc, it applies to any library that may load DSOs at runtime, for whatever reason. For example, gtk theme engines, gnome-vfs protocol handlers, gdk image format handlers, input modules...

  82. LGPLv3 by tepples · · Score: 4, Informative

    On point 2, you're incorrect. There is no LGPL 3 Yet, just as there is no GPLv3 yet. But here's a draft of GNU Lesser General Public License version 3, which will be released at the same time GPLv3 is released.
    1. Re:LGPLv3 by Creepy · · Score: 2, Informative
      seems they noticed my (or other similar) rants about LGPLv2, because the definitions (section 0), the combined library clause (section 5) and clause 4d1a finally make mac application bundles with shared frameworks that include an LGPL library legal.

      still, 4d1 is ugly and seems to imply static linking is still not allowed by the LGPL (contrary to thread starter)...

      Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version.

      Since a statically linked library is bound and copied into the application at compile time, it would be in violation of 4d1a.

      And while I'm sure this clause is meant to forbid static linked libraries, it also inadvertently could make a closed source application violate the LGPL without trying. Here's how: create an LGPL plugin (which is a really a dynamic library that does linking in runtime) and then have a non GPL/LGPL browser download and use it without shutting down. Think of how browsers load something like Flash players now - you don't restart the browser, you just click a link to download and install it, then you view Flash media. Since the library did not exist at the OS when the application was started, you could argue that the plugin did not exist on the OS at run time and therefore violates the LGPLv3. The other alternative is to say that a plugin is not a library - fair enough, then the plugin cannot be LGPLv3 because according to clause 0:

      "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below.

      That said, you could alway do something like that by removing a non-LGPL library and replacing it with an LGPL library to cause the application to violate parts of the LGPL, so I would expect that is unenforcible. I'm just giving a hypothetical scenario of how someone like Microsoft might read it, just so they can say LGPL is EVIL.
    2. Re:LGPLv3 by tepples · · Score: 1

      still, 4d1 is ugly and seems to imply static linking is still not allowed by the LGPL (contrary to thread starter)...

      [0) omitted

      1)] Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. You left out 0), which I'll quote here for convenience:

      0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. As far as I can tell, the "Corresponding Application Code in a form suitable for [...] the user to recombine or relink" is object code.

      create an LGPL plugin (which is a really a dynamic library that does linking in runtime) and then have a non GPL/LGPL browser download and use it without shutting down. Think of how browsers load something like Flash players now - you don't restart the browser, you just click a link to download and install it, then you view Flash media. Since the library did not exist at the OS when the application was started, you could argue that the plugin did not exist on the OS at run time and therefore violates the LGPLv3. [...] I'm just giving a hypothetical scenario of how someone like Microsoft might read it, just so they can say LGPL is EVIL. Have you reported this interpretation to the FSF?
  83. Hardware gives you a leg up, though in that case.. by maillemaker · · Score: 5, Insightful

    >Example: lots of people I know have Linksys (WRT54G[L]) wireless routers _because_ they know they can
    >tinker with it, that there are lots of new, interesting uses to it with the alternate verstions of the software, etc.

    I'm not in the software industry, and I don't know much about GPL.

    But I do know that if my sole /product/ was software, I, too, would be leary about giving away the code for free.

    In your Linksys example, there is a hardware component that is not easy to replicate - there is a barrier to duplication. So in that case it is a great benefit to create and sell the hardware, but leave the software open so that the world can improve the functionality and attractiveness of the hardware you are selling.

    But I don't understand how this works with a pure software product. If you give it away to the world, then someone else is just going to take the code and make a derivative product from it that does the same thing but is free. The way I see it, the only thing authors of free software can sell is support. /I/ wouldn't invest in a new product where I couldn't make any money selling the actual product but only support for it. What if everyone wants your product but no one needs or wants support? You've just invented the perfect software - but it's worthless to you.

    I guess I just still don't understand the free software movement as a business.

    --
    A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
  84. Re:Why closed? by dpninerSLASH · · Score: 2, Insightful

    Only alchemists and very poor cooks feel the need to have secret recipes. Look how little mark they leave on the world.

    Nonsense. This individual has just as much right to develop closed-source software as you do open-sourced. There's nothing wrong with arguing a point, but stick to reality. Are you implying that, love them or hate them, companies like Microsoft, Apple, Oracle, IBM, et. al, haven't left a "mark on the world?" Or are you just dealing with your imaginary alchemists and poor cooks?

    Do you have access to the source for every bit of embedded firmware in the electronics you own? Most likely not. Does that make you a hippocrate? (answer left as an excersise to the reader).

  85. Making a living by mcvos · · Score: 1

    It is actually possible making a living. My employer gives away an Open source entireprise CMS, and sells suppport for it.
    In the case of the OP, if he's selling it with hardware in a nice and friendly package, he could probably safely Open Source his own code, as people will not be paying for the code, but for the hardware and for the convenience of not having to install it themselves.

    I think you could make a handsome living selling sleek boxes with MythTV installed, for example. Most consumers don't care that they could also do it themselves, they simply want to buy a box that works.

    1. Re:Making a living by init100 · · Score: 1

      I think you could make a handsome living selling sleek boxes with MythTV installed

      Unless you're based in the United States. Then the MPAA would sue you into the ground, unless you include the required DRM systems.

      At least, this is what people claim would happen if TiVo allowed people to mod their boxes.

    2. Re:Making a living by mcmonkey · · Score: 1

      Unless you're based in the United States. Then the MPAA would sue you into the ground, unless you include the required DRM systems.

      At least, this is what people claim would happen if TiVo allowed people to mod their boxes.

      Um...TiVo does allow people to mod their boxes.

      TiVo even allows people to add code to their boxes.

      TiVo does not allow people to mod the TiVo code.

  86. Port it to Linux second and you should be fine by frantzen · · Score: 1

    Write it first for BSD under whatever license you so choose. Then port it to the Linux kernel (but it must be a port and not a re-implementation). The software is then a derivative work of your BSD driver and not of the Linux header files. It's not exactly ethical but it's one of those funny loopholes in how the GPL has bastardized copyright law into contract law. If your code is not a derivative work of their copyright then their contract does not apply.

    For the record. If you're selling hardware that you manufacture you're better off releasing under a BSD-ish license. It will increase the likelihood of both hobbyists buying it to tinker and other small companies buying it to resell it with their own special sauce.

  87. Research here, advice there by tepples · · Score: 2, 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.

  88. Troll by tji · · Score: 1

    > 2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    Huh? Dynamic linking, in a controlled environment, is too much to bear?

    This guy is obviously a troll trying to whip up the GPL fanboys and show what an irrational bunch they are. The way the question was phrased made me suspect it, but this question clinches it... this guy is a troll.

    1. Re:Troll by tomstdenis · · Score: 1

      Dynamic linking has it's downsides (like requiring many files to be laying around). If he statically links than the other code is inserted into his executable image which is where the question comes from.

      Tom

      --
      Someday, I'll have a real sig.
    2. Re:Troll by DaveV1.0 · · Score: 1

      Unless, of course, for his application, the dynamic linking doesn't work well.

      You are right, there is a troll, and it is you.

      --
      There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
    3. Re:Troll by tji · · Score: 1

      Yes, I agree -- when we're talking about an uncontrolled environment like a user PC. But, his question specifically stated "I am planning to sell embedded-like boxes with an OS (Linux or BSD) and this code." So, he is completely controlling the environment, in which case dynamic linking and managing files should not be a big deal. In fact, it's probably preferred.. If you need to update some library you can just do that one small file. When statically linking, you need to update your whole blob rather than just the one library.

      I think the reason behind it is to poke at a point where GPL zealots get worked up.. Dynamic linking is pretty clearly agreed upon to be okay with GPL code. It's a library, the separation is obvious, my closed code doesn't overlap with GPL code at all. But, when you statically link, the separation is not clear, and you're distributing one binary with both closed and GPL code.

      So, this is why I think that the whole setup and questions are contrived, just to aggravate GPL zealots.

    4. Re:Troll by Anonymous Coward · · Score: 0

      > Unless, of course, for his application, the dynamic linking doesn't work well.

      Dude, you're a Unix wizard.

      Please tell us which apps prefer static linking vs. "the dynamic linking"?

    5. Re:Troll by trolltalk.com · · Score: 1

      Actually, even less than a troll - a smart troll would have phrased the question along a scenario that at least sounds believable.

      Dynamic linking "is to hard" is a joke. #include <dlfcn.h>, then call dlopen() using RTLD_LAZY so you don't load the library until you need it.

      Its not just that, though. "I want to start a business ..." "I just want to do my job ..." (well, which is it?).

      The poke at the end about already being flamed over closed-source ... welllllll duh! When even Sun is running onto the open-source bandwagon because it makes more sense?

      Of course, posting AC didn't help either.

  89. The Software vs. The Hardware by sofla · · Score: 1

    Rather than try to answer the questions directly, I thought I'd try a different approach.

    From the perspective of the software you are writing:
        - BSD vs. Linux is irrelevant, in terms of the GPL. Commercial, closed source apps can and are built on both, with no encumbrance due to the license of the OS itself.
        - In terms of libraries you may use: the OS itself (BSD vs Linux) is irrelevant. If you go with BSD OS and use a LGPL library, you are still bound by LGPL wrt that library. If you go with Linux and avoid all encumbering licenses, as you suggest write it all from scratch, then you are also in the clear

    From the perspective of the hardware:
        - If you go with Linux, you are considered a distributor under GPL, and bound by it to the extent that it covers distributors, even if you don't do anything with your Linux except install it. iirc this means you need to be able to provide users with the same source media you received with your Linux, so that they can hack the OS (and any other GPL you include, such as GNU tools) however they see fit. I *think* that your own code is o.k., but the line can get blurry, esp. if you start patching the OS to make your app work (ex: TiVo). It's a good idea to get a copy of GPL yourself and read it, talk to the FSF if you need clarification (you may get a "closed source is bad spiel", but you should get the information you're after), and sit down with your lawyer to make sure you understand what you're getting in to.
        - If you go with BSD, you avoid this entire hassle, other than possibly if you use a version of BSD that has an acknowledgment / advertising clause, then you still have to comply with that. Unlike GPL, BSD doesn't burden distributors with a political agenda.

  90. How is it impractical? by tepples · · Score: 1

    Or you need to provide your program object files, so the end-user is able to link it statically with other version of the library. But it is impractical (IMO). How is it impractical to ship object files and include GNU Binutils with a software package? GNU Binutils is GPL, but using it won't apply the GPL to code that runs in a separate process (such as OP's proprietary app).
    1. Re:How is it impractical? by Anonymous Coward · · Score: 0

      I mean: it is harder for end-user to use. Dynamic linking is much better here.

    2. Re:How is it impractical? by dhasenan · · Score: 1

      You just ship both on the resource CD and let the end user ignore the object files. It's embedded, so the end users won't be mucking about with it much, and the poster will be installing the software anyway.

      It's a non-issue.

  91. I've written some x-platform closed source by mrjb · · Score: 1

    ...called hd24tools. I have my reasons for wanting it closed- among other things to stay out of trouble with Alesis.

    Go ahead and write closed-source- but be aware of the licenses of the libraries against which you link. FLTK is 100% liberal for any open or closed source use, be it commercial or not; mysql allows you to include it in commercial apps, as long as it is not the *only* database engine that your app supports. Libsndfile does not allow you to statically link to it in closed-source software, but requires you to provide the shared library. In my opinion that's a small price to pay, so that's how I distribute my software. Do check out the terms for each individual package that you use.

    I suppose you have no trouble providing the source code of the GPL stuff that you use- but as long as you don't modify the GPL'd stuff you won't have to as the official source already *is* online. If you need to change the GPL'd stuff, put a fork online.

    As for the bits that *you* write: Whatever license you put those bits under is your business. Give credit where credit is due- if you use zlib, no harm in thanking the authors. Don't take credit for stuff you didn't build.

    --
    Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
  92. Re:IV 3rd Party Support by DaveWick79 · · Score: 2, Insightful

    Yes, you may. But millions of people license software in this manner and have no problems with the arrangement. If there is a level of trust with the vendor, people don't mind having things closed source. I know a lot of folks on /. would probably use software that is GPL'ed and has major functional limitations compared to a similar commercial closed-source product. However, in the business world, the reality is, you have to use what is most efficient and works best for you, even if your up front cost is greater and the custimization of that product on a fundamental level is not an option.

  93. There is no question 6 .. by artg · · Score: 1

    6. I really appreciate the cost and effort saving to my business that I make by leveraging the efforts of other workers, but I believe that my business model doesn't work if I open my own sources.

    How can I give something back to the community in an attempt to show that appreciation ?

  94. Build it, and they will come .... by hummassa · · Score: 1

    I'm just about ready to try releasing this but for me, I'm not sure how/where to do this. Not sure I want to give my code to sourceforge or if anyone is interested in yet another spam filter.

    1. Why would you _give_ your code to sf.net?? You can _use_ sf.net as a host for your project, but you would not be giving anything to them. Ditto for savanna &c.

    Especially if it runs only on postgresql databases. Transitioning to MySQL is not something I have any interest in doing and with the MySQL Zealotry being almost equal to Linux I don't think I'll find much interest. 2. Leave transitioning to MySQL as an exercise to the reader, then.
    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  95. Morals are relative by nurb432 · · Score: 1

    To me what Richard is talking about is immoral.

    Personally, i feel that restricting me in ANY way is immoral to me. Perhaps RMS needs to reconsider and seriously weigh the risk and benefits.

    ( sure, im joking here somewhat, but you get the point: you cant start tossing in morals in a purely legal discussion about licenses )

    --
    ---- Booth was a patriot ----
  96. No problem by JFMulder · · Score: 1

    I work at a company where we sell turn-key solutions based on Linux at 100K$ a pop and you can bet the legal department went over everything and there is nothing to be scared of. Just don't use librairies that don't allow binary only distribution.

  97. Freedom Warrior by Indecision+Bob · · Score: 1

    Why aren't you a freedom warrior? Just a thought - because the fact that these things (Linux, BSD) are provided for you for free, would make this potential business of yours possible! Perhaps you'd prefer to pay Microsoft's licensing fees?

  98. Re:Hardware gives you a leg up, though in that cas by ericrost · · Score: 1

    Look at the networking products that are gpl'd. Even the proprietary ones have bugs. The proprietary ones charge you for the license then charge you for a "support contract". The GPL'd ones are more upfront and just charge to custom code the features you want/implement the network. Software becomes your product still, but its an implemented running piece of software, not a box on a shelf. It delivers more value to the end customer, and becomes a mature, robust codebase with less resources for the parent company. (Sorry, too early in the morn to dig up links)

  99. A sense of morality, perhaps? by CarpetShark · · Score: 1

    If you want to have good and honest answers, avoid the word fanboy in your original post. Starting off by insulting the very people whose help you ask for isn't a very good idea.


    Agreed. But he'd already offended a lot of us, by saying he's just trying to make a living, so he wants to use closed source, but not acknowledging that he'd be making his living off the backs of the many thousands of people who worked on the open source stuff he wants to use.
    1. Re:A sense of morality, perhaps? by ChronosWS · · Score: 2, Insightful

      Unless I am mistaken, those people volunteered to let their work be used by others off of which to make a living, even if they did not choose to do so themselves. As long as he is not violating any contracts, and the people who originally wrote the base code upon which he is building did so knowing the implications of their licenses, then those people cannot possibly be offended unless they are also hypocrites.

      Open source is a sort of lead-by-example system. You put your code out there for everyone to see, and they use it or not, and perhaps subscribe to your system of beliefs and turn around and do the same. It is not, however, a lead-by-the-sword system. If someone out there decides to use your code (within the confines of the license) without subscribing to your system of belief then that's ok too. Acknowledgement is not even required unless mandated by the license. You can't go around placing additional arbitrary and implicit clauses in the contract, even if they are so minor as 'acknowledgement.' If you wanted acknowledgement, you should have mandated it in the first place.

    2. Re:A sense of morality, perhaps? by CarpetShark · · Score: 1

      Open source is a sort of lead-by-example system. You put your code out there for everyone to see, and they use it or not, and perhaps subscribe to your system of beliefs and turn around and do the same.


      Agreed (although you may be confusing Open Source and Free Software). However, the poster is actually claiming that he has a right to do this WITHOUT anyone trying to represent another belief system, which is bull.
  100. My answers by skulgnome · · Score: 0, Troll

    To questions one, two, three, four and five: eat a cock, shithead. And by "cock", I mean "penis" -- the "meat" in front of the "two veg".

    We don't need your kind around here. You want something for free, to make a profit out of? Fuck off. Go leech somewhere else. People shouldn't be answering questions for the likes of you, regardless of how frothy-mouthed they may be.

  101. Probably w/the consensus, with more details by strredwolf · · Score: 1

    Note, I'm not a lawyer. Contact one today.

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    YES. Nowhere in the GPL, ether version 2 nor 3, precludes you from running a closed source binary on a Linux system. If it did, we wouldn't be as far as we are now -- and I wouldn't be running Second Life on a Nvidia Geforce 7 series card.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    Yes, check the manual pages and info pages on GCC. To keep on the licence issue, the GPL does not transfer to code compiled by GCC, and the "Lesser GPL" that is used on libraries allows you to staticly link them into closed code.

    3. Can I obfuscate my code (e.g. encode it)?

    It would be useless. If you ship a binary only, the obfuscation would already be worked out by the compiler, and a decompiler could be used to steal the code. Since you're not licencing under the GPL, you must make a licence that prohibits decompilation and disassembly without permission.

    4. Could I be forced to publish this code by some 3-d party?

    No. Since you are not licensing it under the GPL, the BSD variant licenses, the Apache license, the Perl Artistic License, or any Open Source Foundation approved license, it would be under what you specify in your own license.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    It is only a legal issue, not a technical issue. You really need to consult a lawyer who is willing to delve into the GPL, the Lesser GPL, and the BSD licenses.

    --

    --
    # Canmephians for a better Linux Kernel
    $Stalag99{"URL"}="http://stalag99.net";
  102. Obfuscated != source by FuzzyDaddy · · Score: 3, Informative
    Releasing obfuscated source code does not count as releasing source code under the terms of the GPL. From section 3 of GPLv2:

    "The source code for a work means the preferred form of the work for making modifications to it."

    It doesn't seem that this guy needs to release his code in any event, however.

    --
    It's not wasting time, I'm educating myself.
    1. Re:Obfuscated != source by s4m7 · · Score: 1

      Releasing obfuscated source code does not count as releasing source code under the terms of the GPL.
      Unless of course you are the copyright holder and wish to distribute obfuscated code under the terms of the GPL. If you're the copyright holder, you can pretty much do whatever you want. That's one of the things that confused me about these questions: if you REALLY don't want to release your source, and I can understand why somebody might not want to, then why would you want to release it obfuscated? Or was this the classic attempt to get around the GPL? I'm amazed that nobody's really brought up the major misunderstanding here: Unless your code is integral to the OS itself (e.g. kernel drivers), writing proprietary code for linux is not really a problem. Writing software for linux does not automatically contaminate your code... where would people get an idea like this?
      --
      This comment is fully compliant with RFC 527.
    2. Re:Obfuscated != source by Anonymous Coward · · Score: 0

      So if I write a binary in a hex editor (crazy me) I can release it as GPL and claim the binary is the source?

    3. Re:Obfuscated != source by maxwell+demon · · Score: 1

      What if I prefer to modify obfuscated code?

      --
      The Tao of math: The numbers you can count are not the real numbers.
  103. YES!! by hummassa · · Score: 1

    That's the first thing I thought when I read the blurb: I think _statically_ linking is an incredible hassle and far more difficult than dynamically linking... especially in Linux.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  104. Don't use an Open Source OS by gatkinso · · Score: 1

    for your project(s).

    There you go - do as you like!

    Seriously - why do you want to use and open source OS at all given your frame of reference? VxWorks, QNX, Windows XY, there are a mariad of closed source OS's out there that would fit your needs.

    Consider open sourcing your work. I think you wil find that if your product is good, most people will not be interested in the slightest about your code, and your competitors will for the most part play by the rules.

    Here is a question of my own - can you charge exra for the code and still be GPL compliant?

    --
    I am very small, utmostly microscopic.
  105. yfi by Anonymous Coward · · Score: 0

    dude, you fucking moron

    have you learned anything about customer goodwill? been living under a rock lately? let me enlighten you

    if you are selling HARDWARE that requires some software to go with it, you are only pissing off potential users of the hardware by not letting them tinker with the software. What good is making some software closed source if it can only run on your hardware anyway?

    1. Re:yfi by night_flyer · · Score: 1

      Dude, Most people dont care! they just want their trinket to work!

      --


      Thanks to file sharing, I purchase more CDs
      Thanks to the RIAA, I buy them used...
  106. Re:Hardware gives you a leg up, though in that cas by Brotherred · · Score: 3, Insightful

    > I'm not in the software industry, and I don't know much about GPL.

    But I do know that if my sole /product/ was software, I, too, would be leary about giving away the code for free.

    Very true I hate to admit. If there is not hardware or a service to sell then selling the program and giving away the source just will not work together. I can not tell you how I hate to admit that.
    --
    Those that do not know, pay for it.
  107. Re:Why closed? by 91degrees · · Score: 2, Informative

    Open source is given away freely,

    It doesn't have to be. You can sell it if you want. Normally I wouldn't mention this because It's a bit pedantic, but it's relevent to my next point.

    and if you believe in that freedom, you also believe in others having the freedom to choose differently.

    But doesn't this mean that if you believe in freedom, then others should also have the freedom to do what they want with your code?

    The thing is, the GPL doesn't require that you give the source to the community. It does require that you give it to the customer and it does prevent you from stopping them giving the source to the community. The only significant freedom that the GPL removes is the freedom to publish the binaries without the source. It's not hugely inconsistent to believe that people should be able to do what they want with software.

  108. The in-between lines of this question... by peu · · Score: 1

    IMHO the submitter padded a single doubt with superflous questions to make it legit, here is the corrected questionary:

    4. Could I be forced to publish this code by some 3-d party?

    This guys knows that building what he wants to do will make it work for ages if he does not rely on some GPLed work, so being sure that no one could force him to release the code its top priority...

    I woke up in a cynical mood today...sorry :)

  109. BSD / MIT License by nbritton · · Score: 1

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    YES!!! The BSD license is basically a wordier version of the MIT license, which is displayed below:

    Copyright (c) {year} {copyright holders}

    Permission is hereby granted, free of charge, to any person
    obtaining a copy of this software and associated documentation
    files (the "Software"), to deal in the Software without
    restriction, including without limitation the rights to use,
    copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the
    Software is furnished to do so, subject to the following
    conditions:

    The above copyright notice and this permission notice shall be
    included in all copies or substantial portions of the Software.

    Thus BSD and MIT licensed code are treated as public domain, except for the the forced attribution, and sometimes advertising / promotional restriction, clauses. If you give credit where credit is due you won't have any problems....

    Please use are software in your software:
    MIT Licensed: http://freshmeat.net/browse/188/
    BSD Licensed (original): http://freshmeat.net/browse/187/
    BSD Licensed (revised): http://freshmeat.net/browse/1023/
    Public Domain: http://freshmeat.net/browse/197/

    ---
    "The way it was characterized politically, you had copyright, which is what the big companies use to lock everything up; you had copyleft, which is free software's way of making sure they can't lock it up; and then Berkeley had what we called 'copycenter', which is 'take it down to the copy center and make as many copies as you want.'" --Kirk McKusick
  110. closed source??? by spectrokid · · Score: 1

    mmmm, you are a one-horse-show. You will be coding an embedded system, under closed source. If I install it in my company, and you get run over by a bus, I'm up sh*t creek without a paddle. Thanks, but no thanks.

    --

    10 ?"Hello World" life was simple then

  111. Why are these incompatible? by HangingChad · · Score: 1

    I just want to do my job and make a living.

    Why do some software developers only see one way to make money in software? Software development has several revenue models that work quite well. Seems a little whiny and narrow-minded to think there's no way closed and open source can co-exist.

    --
    That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
  112. glibc licensing by Anonymous Coward · · Score: 0

    > glibc is not LGPL, though -- it is "GPL with the libc exception" which does allow you to link an application statically against it.

    What's your source on this? glibc appears to LGPL licensed.

  113. Kinda Like Stepping in a Biker Bar by flyneye · · Score: 1

    Your submission is kinda like stepping in a biker bar wearing a gay pride t-shirt to ask if someone can fix your Miatta.
    Go for it,write it,license it,see if they come.We,as you see by the majority of posts,DON'T CARE!
    If you've been reading Slashdot for some time and still don't know how to make money from open source,could be you're kinda clueless anyway.
    Damn,you're scared of sharing code that goes in an embedded system.Is it such a simple device a little girl could do it?
    Where's the fear factor in this?Can't you just sell the machines and service the code? You could still get help from others that way than to continue in your path and perhaps miss some vital bug.Whatever,you made up your mind.
    Best turn tale and run to an import shop and leave the bikers to their pursuits.

    --
    *Repent!Quit Your Job!Slack Off!The World Ends Tomorrow and You May Die!
  114. "For shame!", "get a lawyer", and "BSD" by Money+for+Nothin' · · Score: 0

    First: You want to *gasp!* earn a living? pshaw! Your living should be done in your mother's basement! Code for free, comrade, for the good of the community! (whatever "the community" actually is)

    Second: Get a lawyer. Most Slashdotters are not lawyers, and taking intellectual property advice from non-lawyers -- even though they may be reasonably self-educated on the subject -- is probably less-wise for a businessman than coughing-up the $75 for a hour-long meeting with a real practicing attorney.

    Finally: Yes, with BSD you can effectively do anything you want. Take the code and close-source your copy and modifications forever if you so choose. You can even sell it as part of the world's most-popular desktop OS, like Microsoft has done...

    The downside to BSD, if there is one, is that there are a lot more software ideologues (and license-set-ignorant developers who choose GPL simply because that's what they've heard is "the open source license") than anybody ever imagined, and they work on Linux rather than the BSD OSs.

    1. Re:"For shame!", "get a lawyer", and "BSD" by Hatta · · Score: 1

      First: You want to *gasp!* earn a living? pshaw! Your living should be done in your mother's basement! Code for free, comrade, for the good of the community! (whatever "the community" actually is)

      Heh. The thing that's strangest about all this is the assertion that somehow opening his code and making a profit are incompatible. What planet is he from? The open source community would love to help him make a profit, we just think opening your code is the best way to do that. If you're selling some sort of appliance, this appliance can only be made better by being open and modifiable for the user. Opening your code adds value.

      --
      Give me Classic Slashdot or give me death!
    2. Re:"For shame!", "get a lawyer", and "BSD" by 99BottlesOfBeerInMyF · · Score: 1

      The downside to BSD, if there is one, is that there are a lot more software ideologues

      My company sells boxes built on Linux and BSD and containing closed source software. We started out using BSD, but there are a lot of downsides to it that have nothing to do with the licensing. There is a lot of functionality on BSD that simply is not as up to date. A lot of tools don't work as well on BSD. The real reason we ended up moving a lot of our devices to Linux, however, was customer demand. A lot of enterprise customers don't know what the BSDs are, but have heard of that "Linux" stuff and know it is good. It is a buzzword, but it sells boxes.

    3. Re:"For shame!", "get a lawyer", and "BSD" by bonefry · · Score: 1

      license-set-ignorant developers who choose GPL simply because that's what they've heard is "the open source license" I choose GPL not because I'm ignorant, and that's a big offense from your part [troll].
      I am using GPL because I'm releasing code for the good of myself ... and we live in capitalism after all.
      GPL allows me to get back the improvements done by the community that's willing to use and improve my product ... thus everybody wins (except predators that make money on the back of other people and companies).

      And btw, GPL is *not* "the open source license". It is the genuine Free Software license ;)
      And that's because it promotes Freedom, not convenience.
      And before you start moaning and bitching about the limited freedom it provides, well, I don't consider it freedom having the power to take somebody else's freedom away.
    4. Re:"For shame!", "get a lawyer", and "BSD" by Billly+Gates · · Score: 1

      What if I copy this guys code line by line and make a competing product?

      Wouldn't that eat his marketshare and devalue his product as more supply equals less demand?

      I would not release his code at all openly if I were him.

      I feel what he is asking about is if he is violating the GPL by bundling his product with GPL code. Tivio is borderline in violation as the license states if you share linux or some gpl product with another, then that second product must be free and open as well.

      Perhaps he can bring 2 cds with his product. One with linux and one without.

      NetBSD might be alot better for this reason. This is a very legally gray matter as it may count as a whole distribution if any proprietary code is included.

    5. Re:"For shame!", "get a lawyer", and "BSD" by Hatta · · Score: 1

      You're making the same assumption the RIAA makes, that every copy translates into a lost sale. It's just not true. Allowing people to copy and modify creates a community, and this community is often a greater asset than the code itself. Allowing people to copy can net you more customers than you lose.

      --
      Give me Classic Slashdot or give me death!
  115. Here's a Better Idea: Use Assembly by Prototerm · · Score: 1

    Just write your program in undocumented assembly language, and you can safely release the source code. That way, 99.9 percent of the programmers out there won't know what the heck you're talking about, and it'll act as perfect obfuscation. Then, if you're *still* a bit paranoid about people reading your code, do what some professionals do: sprinkle some meaningless or irrelevant comments throughout the (otherwise comment-less) code. Paris Hilton's birthday, written in octal, is an ideal candidate for this.

    Excuse me, I have some paper tape to program. Can't let anyone get my Secret Family Recipe, you know.

    --
    "My country, right or wrong; if right, to be kept right; and if wrong, to be set right." --Senator Carl Schurz (1872)
  116. Have you read the GPL? by Nelson · · Score: 1
    It's a pretty short read, fairly easy to comprehend. It's worth a try but if dynamic linking is too much... I don't know how successful you'll be.


    If you're serious, ask a lawyer or two about it. Most likely, if the BSD vs. Linux thing is so seamless then you're not doing any real kernel mods, you're just running code on top of a POSIX like OS. So you're free to license it as you wish, your use of 3rd party libraries is the only thing to be concerned with. If you're going to change the kernel, there are some other, very important, factors to consider also.

  117. Tivo clause by Anonymous Coward · · Score: 0

    If you include any GPLv3 code in your project, you must also provide a way for people to update the code on your box; you cannot lock it down.

  118. Not time to check - by happyEverGeek · · Score: 1

    Did somebody already make the joke about potentially getting sued by SCO?

    --
    To a politician, one email equals one voter.
  119. Whats wrong with you? by NDPTAL85 · · Score: 1

    You don't need a reason to go closed source. Its not something that has to be justified. Do Apple, MS, IBM and Oracle seem stubborn and inflexible to you? They produce software products all over the IT spectrum! Seriously closed source is a perfectly legitimate option. Not everyone, check that, mostly everyone doesn't buy into the "proprietary software is immoral" ethos of Richard Stallman. Heck most people aren't technically competent enough to even concieve of how the production of an intangible like software could be immoral without kidnapping the programmers and holding them hostage unless they write code. I'd like to know why you think someone needs a reason to go closed source.

    --
    Mac OS X and Windows XP working side by side to fight back the night.
  120. Naive, naive, naive? by NDPTAL85 · · Score: 1

    Perhaps if one wishes to not be taken advantage of, they should not release their work for free?

    Where I come from thats called "Asking for it"

    --
    Mac OS X and Windows XP working side by side to fight back the night.
    1. Re:Naive, naive, naive? by ericrost · · Score: 1

      Or one could release one's work under a license that prohibits you from taking it, while allowing others who will share and share alike to use it freely. Where I come from, that's called the GPL.

  121. Re:Why closed? by Anonymous Coward · · Score: 0

    But the original question is not about using GPL code and then closing it, it's about putting closed source on Linux without contravening any licences - he trying to respect the OSS community without succumbing to their evangelism.

    Understand now?

  122. WRONG wrong WRONG by Anonymous Coward · · Score: 0

    I can't believe people keep repeating this. glibc is not licensed LGPL. It is GPL but with a special exception that allows linking with closed source software. There is no problem linking with glibc or the standard C++ library and there is no requirement to distribute the source. Assuming you just use the library as is, and don't modify it or do anything else but distribute your program.

    1. Re:WRONG wrong WRONG by Anonymous Coward · · Score: 0

      After so many repeats, you'd think a small nagging doubt "maybe I'm wrong" would start to raise it's ugly head.

      But no, being arrogant idiot, obviously that hasn't happened.

  123. Re:Hardware gives you a leg up, though in that cas by edwdig · · Score: 1

    But I don't understand how this works with a pure software product. If you give it away to the world, then someone else is just going to take the code and make a derivative product from it that does the same thing but is free. The way I see it, the only thing authors of free software can sell is support. /I/ wouldn't invest in a new product where I couldn't make any money selling the actual product but only support for it. What if everyone wants your product but no one needs or wants support? You've just invented the perfect software - but it's worthless to you.

    To make money off free software, it mostly comes down to finding a niche that businesses find important. If you get a lot of users, a small percentage will be large businesses that like buying expensive support contracts.

  124. attack of the viral GPL vigilantes .. by rs232 · · Score: 1

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?


    "Yes."

    From my understanding GPL3 is the same as GPL2 except for added provisions preventing the tivoization of the GPL. That is preventing vender imposing DRM type restrictions on what the end-user can do with his computer.

    dynamic linking is too much to bear


    What's too much to bear about dynamically linking ?

    4. Could I be forced to publish this code by some 3-d party?


    "The GPL attempts to be viral - that is, if you do something wrong like statically linking to a GPL library, it tries to force you to license your code under the GPL"

    What's viral about the GPL is it says you are free to use the code without restriction with full access to the source code. The only provisor being that you must also pass on those FREEDOMS with your source code. Else dynamically link to the GPL, else use a different license, else use the BSD license.

    "This has not been tested in court"

    According to this gpl-violations.org prevailed in court against D-Link regarding them not publishing the full source, as per the license. It this doesn't satisify you, what criteria would satisfy you that the GPL was tested in court.

    "What GPL vigilante efforts usually try to do as a first step is get infringers to clean up their code. So, do not willingly violate the GPL, and if you do get one such notice from the community, do stop everything and be sure you are clean and forthcoming about it"

    'vigilante' ?. I assume you are refering to gpl-violations.org. What's right about a company getting benefit out of selling hardware incorporating GPL code and not complying with the license. Here BT is selling a Thomson router based on GPL code. Thomson failed to publish all the code and were called on it.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?


    "No. It all depends on which libraries you use .."

    I hadn't realized it was so complicated. I thought all you had to do was include the following 21 lines of text in your product to be covered and you don't have to include your source. Besides which if up to now the GPL was so problematical, then why is it that Tivo, Sony, Toshiba, NEC, Fujitsu, Hitachi and Mitsubishi are happy to sell product incorporating Linux.

    --

    was Re:Answers

    Comrade could you tell me about how the GPL prevents those capitalist looters from infringing on the GPL. Certainly Comrade, first of all our clever scientists have made it viral and we have set up a team of vigilantes to intimidate them .. :)
    --
    davecb5620@gmail.com
  125. Be Careful by the+eric+conspiracy · · Score: 1

    I've had experiences where code under one license that was fine for use in my commercial projects moved to a different license in a later version i.e. LGPL to GPL making it impossible for me to use. As a result of this experience I am now working to get rid of all LGPL code from my application.

    Before deciding to use a particular piece of code in your project take a look at what the overall options are, and consider the possibility that what you are using may go to a different license in the future. Have a fallback position. If two libraries are available pick the one with the more liberal license all else being equal. And as always whenever using a 3rd party library encapsulate calls to it so that changing to a different library or replacing it with your own code is not painful.

    1. Re:Be Careful by spitzak · · Score: 1

      You know you can keep using that LGPL version, right? Or are you just dense?

    2. Re:Be Careful by the+eric+conspiracy · · Score: 1

      Did you read my posting? Or are you just an idiot? I specifically stated that the license change was for a later version. And unfortunately sometimes you need the later version to get a security fix, support for newer hardware or a bug fix.

      Open Source is full of booby traps. If you are going to use it in a commercial environment you better have a plan on how to replace it if it becomes necessary.

    3. Re:Be Careful by spitzak · · Score: 1

      Please name the library to prove you are not a troll.

    4. Re:Be Careful by spitzak · · Score: 1

      "Commercial Customers who need a different license, please contact Matthias L. Jugel for more information and pricing. Include details why you need a different license and what you need it for in your email."

  126. Re:Hardware gives you a leg up, though in that cas by Alioth · · Score: 4, Insightful

    If this person is making a pure software product, firstly it's pretty clear that he's a one man band, and secondly, since he complains about dynamic linking (which is utterly trivial to do in Linux, Windows or BSD) being too hard, it's not that hard to come to the conclusion that at most he's "ordinarily skilled in the art" - more likely, he's a candidate for an appearance on The Daily WTF.

    A one man closed source project that involves no particular genius is also susceptible to being duplicated since it won't be all that much effort for someone else to write the same thing from scratch.

    So he either is filling a niche where no one else is likely to go (in which case, it doesn't really matter if he uses a closed or open source approach), or it's actually not pure software - perhaps a pre-packaged OS plus hardware plus support for an appliance type system. In which case, given the resources he has to hand, it still wouldn't really make any difference whether he goes closed or open source.

  127. Alternate answer by wrook · · Score: 1

    There are lots of good answers for the questions you asked. So I won't bother repeating them.

    However, let me at least make a token effort to raise some questions that you didn't ask.

    Why closed source? You mention that you just want to do your job and make a living? Personally, I think that is admirable. But is closed source the best way to go for this goal. I am making the assumption that if you are closing the source, this means that you believe that you will have an "asset" worth "protecting". And this probably means that you are going to write the code before you get paid.

    From a business perspective, my advice is that this raises an unacceptable level of risk. There are two reasons: What if you spend all that time and effort but discover that there is no market for your product? What if you spend all that time and effort and discover that there is a market, but you have gotten the requirements wrong?

    A much less risky business plan (*especially* if you are planning to sell hardware, which costs real capital to create) is to find your customers first. Sales is the #1 important thing. Get a customer with a specific, defined problem and get them to pay you to fix it. Then fix it. Rinse and repeat.

    You say that you just want to do your job and get paid. If that is true, free/open source software is a considerably better approach. With "closed source" you have to speculatively invest your time (and money) building something that might not provide you a return and then hope you can sell enough to make back your investment with some profit. You do a whole bunch of work without getting paid and then you get paid without doing any work.

    With F/OSS you get paid for your work directly. Your unpaid work is in sales. But this is where opening the source helps you. It is free advertising for work. Since you aren't trying to get paid for the "software product", but rather for adding features to the software your reputation is what will bring in work.

    Anyway, it's something to consider. Remember that VC companies want a 20:1 ROI in proprietary software companies. That's because this is the only way they make a profit (since only 1 in 20 make money). The proprietary software business is unbelievably risky.

  128. Re:Hardware gives you a leg up, though in that cas by crawling_chaos · · Score: 1

    To make money off free software, it mostly comes down to finding a niche that businesses find important. If you get a lot of users, a small percentage will be large businesses that like buying expensive support contracts.
    In other words, there is little financial incentive to do so, period. Which is why so many open source projects are labors of love and not efforts to make a living. This isn't a bad thing necessarily.
    --
    You can only drink 30 or 40 glasses of beer a day, no matter how rich you are.
    -- Colonel Adolphus Busch
  129. Re:Microsoft shill by Viol8 · · Score: 1

    Maybe in your mind you sick pervert

  130. Re:Why closed? by Anonymous Coward · · Score: 0

    The questions and line of reasoning lead me to believe that the hardware "platform" in question is probably a commodity PC and the end "appliance" probably one of the small form factor motherboards out there.

  131. Close, but not quite by WindBourne · · Score: 1
    2....Only if it's LGPL

    The reality is that there are many dual licensed software on Linux, in addition to the standards of GPL, BSD, and LGPL. S?He will have to check the code/library that they wish to use. They may find some libraries that allow you to pay for using them in a closed source fashion, such as Qt. In addition, we also have BSD libraries available.

    4. Could I be forced to publish this code by some 3-d party? Not if you do it right

    If the person has sold boxes AND used GPL, it is possible for the owners of the GPL code or the boxes to insist on it and go to court. Of course, the court may offer the ability to swap in a different (non-gpl) library, or they may not. The real problem is spending time/money in court. There are several simple solutions to this.

    1. Do not use GPL or closed source without paying for it. The licenses are very clear. You have to make a conscious choice to use it, so it is trivial to avoid it. If you use a closed source code without paying for it, they can and will drag you in court just for the fun of it. Why? Because you WILL pay all court expenses. If you use GPL code, chance are the developer will allow you the chance to deal out of court.
    2. Release your code. Do you really believe that you, a single coder, have something so unique that a company like MS, IBM, SGI, or even several college students can not do it? Somehow I doubt it. The GPL actually helps to protect you from this.
    3...It doesn't really help, but go ahead

    yeah, it is amazing how many folks think that obfuscating helps. Companies like MS employ it and it does NOTHING for them. Ppl still crack their systems like it is nothing. Why? because it is so easy. And yet, ppl think that it helps. Amazing that facts and reason are so easily overlooked.

    --
    I prefer the "u" in honour as it seems to be missing these days.
  132. Re:Hardware gives you a leg up, though in that cas by Dare+nMc · · Score: 2, Informative

    If there is not hardware or a service to sell then selling the program and giving away the source just will not work together.

    I think that really depends on the product and target audience. IE most software projects probably never get noticed on a big enough scale to wory about posting your code to sourceforge, etc. Esentually it would be free advertising for your product, ie the people who find it their would never have otherwise found it and been customers, but some will contribute to a paypal link, some may contribute with enhancements adding value to your paying audience. With any consumer level product, 99% of (non corprate) customers will never do anything with source code given to them, even those that would know how.

    Of course if the only people who would use your product are geeks already running linux, then ya back to the hope of paypal. Also if your product really takes off after you sell say 5000 units a competitor will likely say, hey I got the source code, I can enter that market too, You still got the advantage of first entry, track record, name (you did copyright your product name right?.)
  133. Re:Why closed? by Anonymous Coward · · Score: 1, Insightful

    "It's not about zealotry, it's about denying greedy, selfish people the ability to build on the shoulders of others without giving anything back.

    You mean companies like Google and Amazon that built their entire infrastructres on GPL code? I'm glad that I can run my highly-scalable search and shopping site using their contributions. Oh wait...

  134. Re:Why closed? by dhfoo · · Score: 1

    I was replying to the comment, not the poster, hence the nesting level.

    Understand?

    I, like most GPL users, don't evangelise as I don't see the need to. There are enough excellent people working with GPL'd software to not require encouraging selfish assholes to join in.

    I do, however, have a problem understanding why people don't seem to make the link between the success of GPL'd software and the terms of said license. It is successful BECAUSE of the license.

    I could also rephrase the last part of your statement....

    He wants to shaft the OSS community whilst ensuring that no-one can shaft him.

  135. Dynamic linking to much to bear. by Anonymous Coward · · Score: 0

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    If you are distributing a box hence the entire OS what is so hard to bear about dynamic linking?
    You're the one building the OS not the customer so make sure the dynamic libraries you need are there.

    But honestly this just sounds like a lame excuse from an inexperienced coder.

  136. Some answers by Anonymous Coward · · Score: 1, Informative

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Yes and Yes.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    Depends on what libraries and the license of those libraries (same goes for BSD). Btw; you realize that if you statically link with a library, then it is no longer 100% your own hand-written C++ code - right?

    3. Can I obfuscate my code (e.g. encode it)?

    Yes.

    4. Could I be forced to publish this code by some 3-d party?

    No.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    No. But there really shouldn't be any issues if you own all the copyright for your code.

  137. Tip by geekoid · · Score: 1

    " I am planning to sell embedded-like boxes ..."

    That means you are a hardware company. Yes you write code, but you sell hardware.
    DOn't confuse possible business contacts by saying software/hardware. Keep it simple. You want to let them know what you do, who they are and determine what they can do for your business in 1-2 minutes, tops.

    They are doing the same.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  138. Re:IV 3rd Party Support by d_beep · · Score: 1

    Does this make sense in this context ?. If you are using window or OS X, you are already tied to the service packs these companies provide. For day to day use, it is somewhat true for linux also. I do not always tinker with all the glitches in all the applications I run. I usually wait for it to be fixed.(usually by the creator/maintainer of the source ).

  139. 3rd party is called a judge by Anonymous Coward · · Score: 0
    4. Could I be forced to publish this code by some 3-d party?


    Yes. They are called Judges. Someone who thinks enough in the GPL would have to get up the gumption to sue you. Go research the Virgin WebPlayer and then look into how many 'fanboys' are actually bothering to sue. As far as I am aware, the only GNU/Linux coder(s) who's using the law and the GPL is the netfilter group.

    Going BSD is one less group of people who could choose to sue. But its your business, you d o what you want to.

  140. Our approach by dskoll · · Score: 1

    We sell commercial (closed-source) code on Linux. However, we are rather unusual because we ship our products with full source code and allow our customers to modify the code. They cannot redistribute it, however, which is what makes the product a traditional closed-source one.

    I though about going to all kinds of lengths to obfuscate the source code, and came to the conclusion that it's not worth it. If someone is determined to rip us off, we'll be ripped off. And the great advantage of shipping with source is we sometimes get patches from clueful customers! :-)

    I think the ship-with-source proprietary model is a great way to go; I'd encourage you to consider it. In addition to the benefits I mentioned above, it also lets our software run on a wide variety of UN*X-like systems, some of which we don't even have in-house.

  141. Could I be forced to publish this code by some 3-d by clickety6 · · Score: 1

    Could I be forced to publish this code by some 3-d party?

    Nope, but the Flatlanders might be able to force you to publish the code...

    --
    ----------------------------------- My Other Sig Is Hilarious -----------------------------------
  142. Quick answers by Todd+Knarr · · Score: 1

    1. Yes.
    2. No. Not without probably having to put your code under either the LGPL or the GPL depending on the exact mix of libraries.
    3. Yes.
    4. No. The worst you could be forced to do is not distribute it, if you ignore the answer to #2 or something. The demand a copyright holder can make if you're distributing their code is that you either comply with the their license or cease distribution, but which option you choose is your choice.
    5. Probably not. You'll need not a BSD kernel but BSD-licensed libraries to avoid #2. All the others are already avoided.
  143. Re:Hardware gives you a leg up, though in that cas by Anonymous Coward · · Score: 0

    He may have trademarked his product name, but you can't copyright such a thing, at least in the US. IANAL, but product names are trademark material. The source code and object code would be copyright material.

  144. Right tools for the job. by T.E.D. · · Score: 1

    It looks like you want to create a business with a business model that relies on you controlling access to your source code. If you really want to do that, you shouldn't build your software on top of a Free Software infrastructure. A lot of effort has been put into Free Software licenses to ensure that the software remains free, and trying to work around that is just going to cause you headaches. Use closed-source software instead. That world understands your needs and desires much better and, as a side benefit, won't make any annoying moral judgements against you. Sure, it costs money, but so will your product.

    If instead you really want to build a build a business on top of Free Software, you should look at using a business model that is compatible with Free Software. That means no secret source code, but there are lots of other options for making money. Contrary to popular belief, there are quite a few companies out there legitimately making money from Free Software. Look at what they do.

    A non-exhaustive list would include making your money off of support, hired development of new features, branding and packaging, access to non-infectious licensed libraries, early access to fixes, or sales of your hardware. The last option sounds promising for you, but this is something you should look into.

    1. Re:Right tools for the job. by Todd+Knarr · · Score: 1

      He can build his software on top of a free-software infrastructure quite well. What he can't do is include free software within his product itself, redistributing other people's code within his product instead of merely alongside it, without complying with their licenses. Of course he's got that issue with proprietary infrastructure too: you can't build MS Visual C++ products and distribute the neccesary VC++ runtime files along with it without complying with the VC++ redistributeables license.

  145. Answers by Spazmania · · Score: 1

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Yes, however you will have to provide the sources for the exact copy of Linux you use. The easiest way to do this is to simply provide a DVD along with the product the contains all of the sources.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    No, not unless you want to distribute your code under the GPL as well. If you're selling an embedded box where you control which and where libraries are present, what exactly is the hangup with dynamic linking? In the scenario you describe, its downright trivial.

    3. Can I obfuscate my code (e.g. encode it)?

    Yes, unless you're required to distribute it under the GPL. You'll find, however, that its not worth the effort. If the box you're distributing can decode it then so can any hacker in posession of the box... Assuming they want to. If they don't want to, they'll never decompile your code anyway.

    4. Could I be forced to publish this code by some 3-d party?

    That depends on how you approach the problem in legal proceedings. If you agree that you're bound by the GPL then you will be compelled to release the code. If you do not agree then you are never so compelled, however you could then be liable for infringement of the copyrights owned by the folks who wrote the software yours touches since your only right to use it derives from accepting the GPL.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    Its not that simple. The core kernel and basic system libraries are in fact licensed in way that permits you to take them closed source. However, a great deal of GPL software is available to and used on BSD machines. If you pick it over the system with a fine tooth comb and carefully exclude all of the GPL software, you may no longer have a system which does what you want.

    I'm not a lawyer and this is not legal advice but as a commercial software developer, I have dealt with this issue before.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  146. Re:Go to fucking windows with your @#$ closed code by janrinok · · Score: 0, Flamebait

    Ah, another AC with a well articulated argument against something said in the Parent. It is always a pleasure to meet such tolerance and understanding in a forum that is, quite honestly, not limited to F/OSS users. /sarcasm

    --
    Have a look at soylentnews.org for a different view
  147. Good ethics question by LifesABeach · · Score: 1

    You have actually presented a good ethics question.

    You have picked up a copy of an operating system that was created by people with the intent of SHARING their knowledge with the rest of the world. The responsibility you accepted when you agreed to use this operating system is that if you create something with it that you will SHARE also. You believe that you may have a killer application. Your doctor has stated that you will die if you do not eat digestible food. The only way you can get digestible food is to buy it with money earned from selling your killer application to anyone willing to pay money for it.

    How people are making money using open source is not buy selling code, but by selling their services to enhance their code to a company's requirements; And as any first semester business student knows, "All businesses are different." At some point during this reading you should have figured out that your time is worth money, and a stripped down version of your killer application would make an excellent advertisement about your services. And as any marketing student will tell you, advertising is not free.

    Of course, you could always market your application, but I envision a larger profit percentage for you. Good luck; Good Hunting.

    "Please correct me where I AM WRONG." - Isham Thompson

  148. BSD License != FreeBSD by mrsteveman1 · · Score: 1

    I have a feeling this little set of questions is a hypothetical, most of the questions are ridiculous.

    You don't have to switch to FreeBSD just because you want to avoid the GPL. The various BSD and GPL libraries can be used anywhere you want to use them all you have to do is satisfy the license. Alternative? Write one/Buy one.

    Also, whenever stuff comes up even remotely related to BSD licensing, there seem to be a lot of people getting into a fanboi fit trying to convert developers away from the GPL because it restricts developers rights (free software is about users not developers). I think it's because people are so fond of FreeBSD they feel they have to defend the BSD license at every turn. You can love FreeBSD and not be a rabid BSD license weasel at every turn.

  149. Re:Hardware gives you a leg up, though in that cas by thegnu · · Score: 1

    But I do know that if my sole /product/ was software, I, too, would be leary about giving away the code for free.

    I think you mean leery. But then, as my dad used to say, "I'm a little Leary of taking acid. :-)
    --
    Please stop stalking me, bro.
  150. Re:Hardware gives you a leg up, though in that cas by Sancho · · Score: 1

    or it's actually not pure software - perhaps a pre-packaged OS plus hardware plus support for an appliance type system. Yeah. I guess you missed the two places in the summary where this is mentioned:

    I want to start (very small) software/hardware business.

    I am planning to sell embedded-like boxes with an OS (Linux or BSD) and this code.

    The reason that it can make a difference is that, as others have pointed out, if the hardware he is selling is commodity hardware (maybe Soekris boxes?) then he's offering little or no incentive to purchase his product for a premium when someone can buy a box, download the code, and use his work for free.
  151. Go get a job. by Anonymous Coward · · Score: 0

    If you are thinking of starting a company and you are worried about things like this, do yourself a favor and go get a job.

  152. Re:Hardware gives you a leg up, though in that cas by shywolf9982 · · Score: 2, Interesting

    > But I do know that if my sole /product/ was software, I, too, would be leary about giving away the code for free.

    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.

    --
    nbody2002:If you can read this you may be addicted to the internet
  153. IANAL by alexgieg · · Score: 1

    IANAL (nor a programmer), but this is what I've heard and read many times on these same questions:

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    A.: Yes, and yes.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    A.: Depends on the library. Some allow it, some don't. As a rule of thumb, if the library is licensed as GPL (any version), don't do it. But to be absolutely sure, read the license anyway. Some authors make changes to these default licenses allowing or prohibiting specific things.

    3. Can I obfuscate my code (e.g. encode it)?

    A.: Yes, but I don't see the point. It's akin to lock mechanisms or game protection: anyone wishing to reverse engineer the binary will do so no matter how much obfuscation you put into either the source code or the compiled output itself. See for example FreeDOS, which reverse engineered Microsoft DOS, or the Wine and ReactOS projects, which are reverse engineering Windows itself! Adding these security measures has only one practical effect: to make your software slower. No actual benefits, at all.

    This is also a reason for you to not worry that much with your source code being published or not. Either your software is so valuable that it'll get reverse engineered anyway, or it's almost useless outside a niche market and as a result no one will be interested in reimplementing it no matter how much you post and repost the whole source tree all over the Internet. Besides, copyright laws already provide you full protection. If you in your license don't allow neither redistribution nor derivative works, both redistribution and deriving is forbidden no matter how many people can read your source code. Microsoft itself shows lots of its code to 3rd parties, but no one among those can use if for anything. It remains the sole property of Microsoft.

    4. Could I be forced to publish this code by some 3-d party?

    A.: If you follow "2" carefully, no. Otherwise, if you make a dumb choice of linked library, yes.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    A.: Doesn't make a difference, since you must follow "2" anyway. What if that specific library you're statically linking into your compiled software isn't actually under BSD, but under something else? The best thing is to always read the license.

    In any and all cases (and I mean it! GPL, BSD, Windows or whatever, doesn't matter) consult a lawyer if you have any doubt. Legal counseling is expensive for a reason. ;)

    --
    Conservatism: (n.) love of the existing evils. Liberalism: (n.) desire to substitute new evils for the existing ones.
    1. Re:IANAL by flatulus · · Score: 1

      3. Can I obfuscate my code (e.g. encode it)?

      A.: Yes, but I don't see the point. It's akin to lock mechanisms or game protection: anyone wishing to reverse engineer the binary will do so no matter how much obfuscation you put into either the source code or the compiled output itself.


      While you are correct, there is still the matter if this gentleman's product is so widespread, successful, and desirable as to be worthy of the reverse engineering. The products you cite *were* (are) widespread, popular, etc. Maybe he wants to make a *modest* living on what one might call "table crumbs." In that case, there is value in obfuscating his code, but it's not an *absolute* value - just moves him further down the "too hard to bother" scale.

      BTW - probably the cheapest no-brainer way to obfuscate your code is to strip debugging symbols. I have personally discovered retail software that still had the symbols. Makes reverse engineering a WHOLE lot easier :-) Besides, stripping symbols makes the binary footprint smaller.

      Besides, copyright laws already provide you full protection.

      Again, while you are correct, I take this as a naive position. Copyright "protection" simply means the government will attest to your stated ownership (if the copyright is registered), and gives you a legal advantage in civil court. But you don't want to end up in civil court - ESPECIALLY if you are a small scale operation. The costs of defending your ownership could easily exceed your revenues many times over. What protection is that?

      (Shameless plug)
      A good friend of mine is trying to make a go of building a small business while doing a "good thing" (tm). If you drink coffee, and also want your dollars to do "good things", think about trying a pound of his brew: http://www.specialtyroast.com/

  154. Re:IV 3rd Party Support by Holmwood · · Score: 1

    This comes up now and then in the closed source world, especially with smaller vendors, but even with huge ones. The solution is generally that the code is put in escrow. Failure to update/repair as per contract then triggers a legal process for the customer to access the code.

    Of course, this does nothing to help the individual user/customer, but can be of substantial assistance in certain circumstances.

    Holmwood

  155. I'm no pro-Open Source fan but... by Assmasher · · Score: 1

    ...it seems very likely that your interest in Linux and/or BSD (presumably FreeBSD) is based primarily upon keeping your costs down both for development, testing, and deployment; ergo, you are potentially making a greater profit because you're using a system others have devoted enormous amounts of time and energy to in the spirit of being 'open' with source.

              This doesn't mean you can't do that, but to express surprise/shock/dismay/disappointment that people are going to dislike you because you're going to make money off other people's effort (the operating system kernels, kernel modules, drivers, window managers, desktops, APIs, et cetera) is ridiculously naive.

              Now, you may very well claim that you're using BSD/Linux for stability and security reasons and that would just indicate that you don't know what you're doing; therefore, I presume it is an 'out of pocket' expense decision.

    --
    Loading...
  156. Lots of companies do it. by markitect · · Score: 1

    You should always ask a lawyer legal questions, but lots of companies develop closed software on open platforms. As long as you ensure that all the libraries you use are LGPL you are safe. As far as GPL3 the only thing particularly relevant is the anti-tivoisation policies. Basically you can't make custom hardware with the intent of not letting people modify the open-source software you use on it.

    Starting with a Linux platform is a great way to cut costs and start a small business. But do not be a ****, if you need to make a driver for your hardware, open source it, if you use a smaller library, LGPL library help out the project. Not doing these things is what pisses most people off when make a closed Linux app. Just remember they've saved you tens of thousands of engineering hours and licensing fees, give a few back by helping to resolve bugs and improve things.

  157. You better be able to ! by Qwavel · · Score: 1


    Frankly, if you can't do what you want to do, then Linux is in serious trouble.

    Open source developers have created a lot of great applications, but they can't do it all. On the desktop particularly, Linux will only succeed if closed source developers feel comfortable writing software for it.

  158. Sorry if one person on Slashot was a moron... by Larry_Dillon · · Score: 1

    But that's the nature of Slashdot, any moron can say whatever he/she likes.
    Open Source doesn't have a PR department to weed out the one bad comment in a hundred.
    Who-ever it was probably hasn't contributed a line of code or even a bug report.
    If you hang around, you'll learn to ignore such things.
    I see it as a small price to pay for all of the other advantages of open source.

    --
    Competition Good, Monopoly Bad.
  159. Make a Living, doing "your job". by hackus · · Score: 1

    I have no idea what this guys problem is, but from my own perspective of selling embedded solutions/canned software to companies using the GPL I fail to see how he infers, you can't make a living unless he uses closed source.

    I haven't found that to be the case so far, if anything, most companies I.T. departments offer me or suggest a source contract for about 6-8 more months beyond the project to train I.T. programmers and related staff to assist them in making modifications that are safe, secure.

    What typically happens is giving people access to the source code opens up a lot more questions than answers, usually, and they come back for more.

    Not only that, but I have seen companies with the attitude, "Oh yeah, this guys is stupid!! he is giving us the source code with our new network monitoring system!!!"

    Only to find that yeah, they have the source code, but the time that is required to make use of it, doesn't come with it.

    So they end up hiring me to maintain the code, add modifications, etc because management at said company finds out nobody wants to work on weekends on top of all the other responsibilities they have during the day. :-)

    -Hack

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  160. Uh, guess what by weierstrass · · Score: 2, Interesting

    This 'guy' doesn;t actually exist in reality, he is a hypothetical invention, or in laymans terms, a troll. Anybody who actually wanted to find this information out would be able to get it much easier from one of about a million faqs on the web.

    --
    my password really is 'stinkypants'
    1. Re:Uh, guess what by Jack9 · · Score: 4, Informative

      I don't see how he is a troll. The fact people ask questions that could be answered by doing the proper research (how would you qualify what is proper in many cases, specifically the legalities of licensing?) does not mean they are trolling, they are simply asking in a forum they are comfortable with. What's your problem with that?

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    2. Re:Uh, guess what by maxwell+demon · · Score: 1

      how would you qualify what is proper in many cases, specifically the legalities of licensing?

      Proper research about the legalities of licensing is generally to ask a lawyer. Unless you are a lawyer, in that case proper research probably means reading the license(s) in question, the applicable law, and any prior court rulings relating to the issue (IANAL however, therefore there might be something about proper research by a lawyer which I'm missing).
      --
      The Tao of math: The numbers you can count are not the real numbers.
    3. Re:Uh, guess what by Jack9 · · Score: 1

      The fact you think it's "ask a lawyer" (regarding licensing legalities) instead of a paralegal is interesting in that, it's part of the natural discussion evolving from the very sane act of asking for advice on a forum of (perceived or real) peers. There's nothing inherently trollish in searching for information. The fact you do not approve of /. as a source of information, seems a bit hypocritical. Did you not just offer advice?

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
  161. A little late into the discussion... by rfernand79 · · Score: 1

    But in all fairness, have your lawyer check the specifics. You may have noticed already some "level of agreement and understanding" among posters -- but no uniform, clear answers across all posts. If your lawyer reviews the license involved in your development, he can advise you as to whether your proposed model is compatible or not (legally).

  162. Best answer by Anonymous Coward · · Score: 0

    The best answer to all those questions... start writing for Windows. Programming is so much easier when you don't need to be a lawyer to do so.

  163. GPL developer are stupid yet intelligent ? by tizan · · Score: 1

    According to this poster those who chose GPL are like pot smoking idiots who just pick a license because the next door idiot did it...yet their code are better or more useful than the intelligent and thinking BSD license choosers.

    If somebody provide you something with a license use..it with that license or don't use it....don't go impugning the intelligence of the licensor if you don't like the license he/she chooses. That's nasty.

    1. Re:GPL developer are stupid yet intelligent ? by Money+for+Nothin' · · Score: 1

      You assert that I made a blanket statement about *all* GPL users. Show me where I said *all* developers choose the GPL just because their neighbor did.

      I do not think all developers who choose the GPL are idiots (indeed, I think the GPLv2 is a good license for people who want to keep their source from (legally, at least) being used by businesses to turn a profit. What rational hobbyist coder would give away their code for free, only to help a business make money using their software? That's insane. For hobbyists of this ilk, I think the GPL is a reasonably-good (though still imperfect) license. The BSD license completely fails in this regard.).

      I do think many developers are license-agnostic, preferring to deal with technology than the law. I applaud such developers for this preference; really, I wish *all* development could be this way. But making that choice, I think many also choose to just pick up whatever license seems reasonable and slap it on their code upon release, without considering many, or any, of the deeper ramifications...

      GPL and BSD licenses each have their place. I just wish developers would choose them more wisely (and the better developers, who care about IP issues (like Linus Torvalds), do)...

  164. I wouldn't bother, personally by petrus4 · · Score: 1

    You might be able to get away with it on FreeBSD, but on Linux, people will actually make a point of not using your application if it doesn't conform with whatever the FSF's stated requirements are, whether that's the GPL v2, v3, or whatever.

    Write it for Windows, and if you can, figure out a way to do a fairly trivial port for FreeBSD. Ports allows for divergent licenses, as long as you clearly stipulate such.

    Developers should not have anything to do with Linux unless they are willing to be entirely submissive to the will of the zealots. If you try to be resistant to them in any way, your application simply will not be used.

  165. Re:Why closed? by MilesNaismith · · Score: 1

    Whose scientific "code" do we still base much of science on hundreds of years later? People like Avogadro, Boyle, etc. who published their work? Or some alchemist who may have discovered the same things but kept it to themselves? Will MicroSoft exist in 300 years? Will kids then study in school the basis of the OS they are using owes framework to MS? I sincerely doubt it. By then MS will just be another dead corporation in a long line of them, replaced perhaps by some other alchemists who gain the favor of the king and for a time shine very brightly but contribute little or nothing to the public good codebase. My argument is that work which is made freely available WILL be incorporated in other people's work. If all you want is to MAKE MONEY go be a licensed plumber or electrician. Those guys make quite excellent money and without a lot of schooling.

  166. Re:Hardware gives you a leg up, though in that cas by Mattintosh · · Score: 1

    Free software isn't, and will never be, a business.

    The way to make money from free software (I'm aware of only one) is to sell overpriced service contracts to suckers hoping that they don't grow/hire some brains to operate your product without you. Kinda like Best Buy does, only with a bit more of a "hands on" approach.

    "So, would you like to buy a service plan? There's no warranty on this free software, you know. If anything breaks, you're toast. But if you buy our service plan, you can just bring it back to the store and we'll replace it, no questions asked."

    It sounds like a poor way to win friends and influence people, and a good way to not make money.

    <flamebait>RMS is a dirty commie hippie.</flamebait>

  167. It seems to happen though... by maillemaker · · Score: 1

    >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).

    I wouldn't worry so much about releasing my product to people who /didn't/ know anything about it so much as people who /do/.

    There seem to be many examples of this. I don't know if these are open source examples (I always assumed they were), but how many flavors of different P2P clients are out there these days, all presumably running the same basic guts behind the scenes?

    I have also assumed that all these different flavors of linux out there today are likewise derived from a common, open ancestor. I'm sure all the folks that developed these different flavors know quite a lot about it.

    --
    A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
  168. WOULD NOT BUY YOUR PRODUCT! by MilesNaismith · · Score: 0, Flamebait

    Yeah, so you want to build this embedded widget to sell to my company. Yet you are a one-man show intent on keeping all the secrets of how it works to yourself. What happens when it breaks down, or I just need it modified to fit some new requirement, and YOU *LONE* *RANGER* ARE NOT AROUND? I can't see any sane businessmen buying your product.

    1. Re:WOULD NOT BUY YOUR PRODUCT! by PFI_Optix · · Score: 1

      They do it every day with closed source Windows products.

      You're thinking like a developer, not a businessman. A businessman wants a turnkey solution that "just works". If his product works as advertised and he can support it well, they'll buy it.

      --
      120 characters for a sig? That's bloody useless.
  169. Try Prelinking Libraries by elzbal · · Score: 2, Informative

    If you want to continue on Linux, try Prelinking the libraries (see 'man prelink' and Google for more information). It resolves a lot of the performance issues with dynamically linked libraries, without actually statically linking them. Not only does this resolve the GPL issues, it also removes problems with, for example, being able to update OS libraries independently of your application.

    Of course, BSD is a fine OS as well, and I've had good experiences with both platforms. Good luck!

  170. Free software as a business. by Anonymous Coward · · Score: 2, Informative

    Write good software, make it open source, then:

    1) Sell service/support contracts to businesses that use it.

    2) Sell conversion consultation services to help businesses convert from their old product to yours.

    3) Sell code customization services, working out in your contracts whether or not the code customization in question is for that business only (they will keep the code and not distribute it in any way, and it will not become part of the source tree) or a paid modification of the core source (you own it and open source it and distribute it with the base product).

    4) Publish and sell books on how to use your product. You could also sell training classes on how to use it.

    5) Consult as a specialist with domain knowledge in the industry to which your product caters.

    6) Profit!

    If you can't do this sort of thing with your product, then it may be that the open source business model is not suitable for what you have in mind, in which case you will either have to work within a closed-source OS (so there will be no licensing conflicts), or be very careful in what your product links to (LGPL and BSD style stuff are fine, pure GPL and similar may not be so fine). Be aware, however, that selling closed-source code to an open-source crowd doesn't always go so well.

    If all else fails, your product could be the demonstration of skill that lands you a job at Google.

    1. Re:Free software as a business. by tftp · · Score: 1
      There is a well known advice: "Don't sell what you can make; make what you can sell." Your advice (sell this, sell that) is counter to that. A software guy (even if not very familiar with dlopen()) can not sell stuff that is in the domain of slick salesdroids with shiny powerpoints. Your average geek can't just barge into a large company, run to the CEO and sell him on his support scheme. A software guy can only write a program, make a demo download, and sell the software on the web. He can't sell support, and it's also obvious that he can't provide that support either (just think about what it takes.) And if he is willing to sell consulting services, he'd be better off just working as a hired consultant, his code or anyone's else.

      There is one more important aspect. With software you write it once (ignoring maintenance for the moment) and sell it forever (or for some time.) In other words, you invest resources, and then you gather the profit. During the investing you work hard. During the gathering of gains you sit back and just watch your download counter on the Web site. A product is yours to sell (or license), it is a tangible good, it is something that you possess.

      On the other hand, software as a service is not a product - it is a continuous performance, day after day. If you stop working you die from hunger and lose your house, so to say. There is no investment in a typical support house, but there is day to day activity that brings revenue. IMO this is a poor way to make money, but there are enough people who think otherwise.

      However your offer combines the WORST parts of both worlds. The poor guy has to write a software first (to make an investment), but then he is not to enjoy the fruits of his labor but to switch to another business model - which does not require an investment to start with! I can open a company and support GIMP, for all I care - I don't need to write GIMP!

      Find me a businessman who writes a program, open-sources it, and then supports it - and I will show you an idiot.

  171. whoops by rucs_hack · · Score: 1

    I meant closed software on embedded 'linux' systems.

  172. So hard to make an application on Linux by iONiUM · · Score: 4, Insightful

    I'm sorry, but if you review the huge arguments going on about how you can release closed source on Linux, well it's no wonder a lot of vendors chose to go Windows only. I'm not saying closed source is right or wrong, I'm just saying that if the option to go close source is so tricky on Linux, well, that's a huge fucking problem.

    1. Re:So hard to make an application on Linux by LingNoi · · Score: 1

      Many people are misunderstanding the article as saying he wants to release a closed source version of GNU/Linux. It a poorly worded article that needs clarification.

      There are already many closed source apps on Linux. Look at Skype for example; they even provide you with a .deb to install it.

    2. Re:So hard to make an application on Linux by DragonWriter · · Score: 1

      I'm sorry, but if you review the huge arguments going on about how you can release closed source on Linux, well it's no wonder a lot of vendors chose to go Windows only.


      Yeah, because many vendors resolve questions like this by asking Slashdot.

    3. Re:So hard to make an application on Linux by gnuman99 · · Score: 1

      Bullshit. Anyone can release any number of closed source applications on Linux. Most of the libraries that are available for Windows are there in Linux with the same license. Basic API like C library and windowing API like GNOME are 100% free to use in closed source. (KDE is different, but that's a problem with KDE, not Linux or GPL).

      It costs *more* money to develop for Windows than does for Linux but the market revenue for Linux is tiny in comparison to Windows. Unless you write some niche app that runs on Linux only because windows sucks in that area (high-performance computing would be one).

      So please, stop trolling. Just because there are 2000 GPL libraries in Linux that allow you to do what you want in 2 lines of code doesn't mean you can't use the standard way (writing 500 LOC routines with libc or other BSD libs) and have closed source app. You have to do that on Windows! You have to do that on a Mac!

      It is all about *revenue* potential from a platform NOT license issue on Linux! That's why you have more apps for Windows than a Mac and more on a Mac than on Linux (closed source ones, at least). Hope that is clear.

  173. Re:Hardware gives you a leg up, though in that cas by Fluppe42 · · Score: 1

    An alternative strategy might be a dual license: a GPL version and and a commercial version. Of course, this model seems only a good option if your software is going to be used in other commercial products (like Trolltech's Qt is an excellent C++ library used in other commercial software). I really doubt if that would work for end-user products like a text editor...

  174. Answers by ajs318 · · Score: 2, Informative

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?
    Yes, though you will have to distribute Source Code for any GPL and similarly-licenced components you distribute. As for GPL4, who knows?

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
    Not unless the libraries are released under LGPL. Many libraries nowadays are under the full GPL specifically in order to prevent people statically linking closed code against them.

    3. Can I obfuscate my code (e.g. encode it)?
    There's no point obfuscating Source Code which you aren't releasing because nobody else is going to see it. There's no point obfuscating binaries because the code to de-obfuscate them is required to run them.

    4. Could I be forced to publish this code by some 3-d party?
    Only as part of a settlement package if you were doing something you shouldn't, and even then only by mutual agreement unless the law changes in future to make "intellectual property" subject to forfeiture. There will always be an alternative (though that may well be to pay out a large sum of money and not sell any more of your product).

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
    Not necessarily. Even BSD systems contain some components which are under GPL and/or LGPL. Of course, you can buy commercial versions which do not have such restrictions.

    The view from between the lines is somewhat less rosy. Your questions (2) and (3) suggest that you don't know very much about programming, and the fact that you want to keep your Source Code closed at all suggests that whatever you're doing isn't actually going to be all that special. So, be warned: some third party is most probably going to come along and blow you out of the water, offering a superior and True Open Source solution to whatever problem you are trying to solve. In fact, if and when they do just that, they can probably expect a hefty wodge of donations from Slashdot readers eager to see a closed-source product fail spectacularly.
    --
    Je fume. Tu fumes. Nous fûmes!
  175. Have you considered other OSes? by Anonymous Coward · · Score: 0

    There are plenty of open and closed-source embeddeed OSes out there - http://en.wikipedia.org/wiki/Embedded_operating_sy stems lists some... Why are you considering Linux or BSD specifically?

    Make a list of the features that you need, and find out which ones have what you want. Even in the closed source world the licensing can often be quite reasonable, especially if you don't actually require a lot of features.

    If you're sure you need a full-on OS like Linux or BSD rather than a simpler one or an RTOS, then the licensing issue is best taken up with a lawyer who specialises in this kind of thing. If you can find a commercial effort which lines up with your needs at the right price then the licensing should be easy enough - that is after all what you are payig for...

  176. Interesting question by rileym65 · · Score: 2, Interesting

    I have to say this has been a very interesting thread and it does ask some questions I have been wondering about as of late as well. First I would like to say that up til this point all software that I have written to run on Linux is on a freely useable license, therefore I feel that I have contributed to the open source movement, these include various emulators, games, and development tools and libraries, all are not necessarily on the GPL but much closer to the BSD license, I have granted free rights to modify and distribute so long as it is not used for comercial use.
        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???

  177. 1 acronym - IANAL by pjr.cc · · Score: 2, Interesting

    IANAL seems to rule my life, so much so i really dont often know whether to unleash something i do upon the general public because i dont know (even though everything i do is completely free and OSS):

    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".

  178. Re:Why closed? by LingNoi · · Score: 1

    Because he wants to make some money out of his programming without having to work for a massive company.

    He's also trying to create a product for Linux users that, I dunno, might actually make Linux more attractive to current non-Linux users, which would help defeat the Windows menace.

    Take your blinkers off and look at the big picture, your zealotry is what gives the rest of us a bad name.


    The only zealot around here is you.

    You seem to wrongly believe that open source software is about defeating Microsoft. As a GNU/Linux user the only time I ever have to think about Microsoft or their Windows product is when Microsoft threatens to sue Linux users or when a Windows user starts marking me as some kind of windows hater because I don't use the one true OS.

    You are the one not seeing the clear picture.

    He wants to lock down the code. How is that promoting a GNU/GPL operating system?

    This guy would be better off with BSD code and I wave him good luck. The less thieves in the GNU/GPL community the better.
  179. Re:Hardware gives you a leg up, though in that cas by Anonymous Coward · · Score: 0

    You might be Timothy Leary, but in this case I suspect you might be "leery," smart slashdot poster.

  180. Re:Why closed? by LingNoi · · Score: 1

    Yes, Google have never contributed anything back to the open source community.

    Those evil yahoo people have also never contributed too!

    oh wait!

  181. Write your software in Brainfuck by Anonymous Coward · · Score: 0

    a) No need for code obfuscation
    b) You can open source it without any worries about competition or parasitism

  182. Yes You Can by wharfrat · · Score: 1

    > 1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Yes you can. It does not look like linux will move to the GPL3, so you won't have to worry about its Tivoisation clause.

    > 2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    You can, if it is a LGPLed (not GPL) library. Read the license and make sure it allows statically linking.

    > 3. Can I obfuscate my code (e.g. encode it)?

    YES. ABSOLUTELY.

    > 4. Could I be forced to publish this code by some 3-d party?

    Only if your code is based off of GPLed code. If your code is your own and does not borrow from GPLed code, you are fine. You would be able to package this code on an appliance running linux. That would require you to provide the source code to the GPLed code on the appliance, but not your proprietary code.

    This is what Tivo does.

    > 5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    You may be correct in that.

  183. Re:Hardware gives you a leg up, though in that cas by Anonymous Coward · · Score: 0

    +1 Insightful. Parent post mirrors my thoughts exactly.

  184. Embedded different by redelm · · Score: 1
    What you can get away with depends very much on who is opposing you. If this were purely software that could run on any number of different GNU/Linux systems, then you probably could escape your work being considered "a derivative work" and subject to the GPL.

    But embedded, you're using one Linux kernel (possibly customized) and tightly interacting with your app. At the very least, you will have to distribute source for that kernel. You will also have users complaining about your source. Many fairly deep pocketed embedded-linux mfrs have decided to publish source (even TiVo) rather than fight a battle they are likely to lose in court.

  185. Nonsense. by jotaeleemeese · · Score: 1

    I have worked most of my life in the private sector in big multinational corporations. I understand who drives the movement and made aware my employers or clients of these issues when they arise. Many more companies that you can possibly imagine, making gazillions of money, are perfectly comfortable with the concepts spoused by Richard Stallman (hint: they are not in the business of writing software).

    I am in support of FOSS and resent any prospective freeloaders that want to use Free software and give nothing in return. They should use closed source (and see how their business never taking off).

    You stereotype people at your own peril.

    --
    IANAL but write like a drunk one.
  186. Re:Why closed? by LingNoi · · Score: 1

    We shouldn't be religious about this - religion, by and large, has always been and always will be harmful.


    It is about respecting other peoples wishes to which you received the gift of code from them.

    The GPL forces the author's original intentions on to those that wish to use it. So if the author wanted their project and code to be GPL then you should respect those wishes and not complain.
  187. Linking looks like Next > Next > Finish by tepples · · Score: 1

    I mean: it is harder for end-user to use. Does the user even have to see that the installer is linking the executable? All the user sees is Next > Next > Finish, while the ld magic goes on behind the scenes.
  188. Answers from yet another IANAL by AlXtreme · · Score: 1

    1. Yes, you can do this with a Linux distribution. Note that you are technically selling a Linux distribution (with hardware), so you'd have to either include the distribution sources, or offer them online, or include an offer to supply any source for any GPL'ed binary in your distribution. And Linux probably won't go GPLv3 anytime soon.

    2. Legally using a statically (or shared!) linked library with your own code creates a 'combined work'. If you use GPL'ed libraries (they exist), you have to supply the source code to the whole combined work. The LGPL only states that you have to supply the source code of the library you used, not the whole combined work. The LGPL doesn't differ between statically or shared linking, which is a common misconception. See http://www.gnu.org/licenses/lgpl.html for details.

    3. Sure you can obfuscate your code. Write it in Perl, and you get the obfuscation for free.

    4. No, you won't be forced to publish your code by some 3-d party. Not unless you use a GPL'ed library or code in your combined work, or make changes to GPL'ed code.

    5. It depends on what you see as a problem. It is true that you would be able to distribute your hard+software without having to supply any source code if you only use BSD licensed binaries and libraries, but as long as you use BSD/LGPL-licensed libraries you wouldn't have to supply the source code of your own work.

    And don't be put-off by the Linux fanboys. Kudos to the people who are trying to make the free software model work for their business and play by the rules.

    --
    This sig is intentionally left blank
  189. Licensing by Tony · · Score: 1

    The licensing for using GNU/Linux as your core OS isn't too bad, really. If you distribute it, you'll have to make the GNU/Linux source code available to your customers. You don't have to distribute it to them, you just have to let them know they can get it from you at any point. If you make any modifications to the GNU/Linux source code, you must make the source code to those modifications available to your customers, as well.

    The source code to your application is yours. You do *not* have to distribute it, nor make it available. That's how Oracle can sell its RDBMS system for Linux. That's how other embedded companies can sell their applications.

    As with any operating system, you'll want to check the requirements for the libraries on which your application depends. For LGPL libraries (which should be most anything), you can dynamically link against them. You'll only have to release the source code to the libraries themselves, so if you make a change to the library, you must release the code to that change. You don't have to release the code to your application.

    I'm not sure why you consider dynamic linking onerous. It's dead-bloody simple, really, and though it adds a little to the application start-up time, there's no practical difference between that and static linking.

    There's no reason not to use GNU/Linux, unless you have a preference for *BSD or MS-Windows CE/Embedded/Flavor-of-the-month.

    If you are uncomfortable reviewing the licensing yourself, I suggest hiring a consultant to review them for you. I suggest this no matter which OS you choose, as licensing is a quagmire on all fronts.

    I am available, for a modest fee, but I suggest you trust whomever you hire.

    --
    Microsoft is to software what Budweiser is to beer.
  190. Re:Hardware gives you a leg up, though in that cas by jythie · · Score: 5, Informative

    I read 'too much to bear' as taking too much system resources rather then 'too hard'.

    In an embedded system dynamic linking can eat up scarce resources. Static linking is faster to load, faster to run, and takes up less ram.

  191. Lots of closed source on Linux by Tony · · Score: 1

    This is a fallacy. There's lots of closed source for Linux.

    The huge arguments are about people usurping Linux itself, about closing up Linux. It's not about applications, it's about the OS.

    Closed source applications are no problem whatsoever.

    --
    Microsoft is to software what Budweiser is to beer.
  192. Copyleft by nMiller92 · · Score: 1

    I thought the point of the GPL was the whole Copyleft idea. Meaning, anything you release with that license must follow the rules of the license(Open Source...).

  193. Well trolled. by Anonymous Coward · · Score: 0

    Way to push the FSF FUD some more. There is no way for anyone to take free code and "hijack it and close it". The GPL is about controlling others and pushing agendas, not protecting anyone or anything. Notice how X, apache, sendmail, BSD, BIND, etc, etc have never had any problems with anyone "hijacking and closing" them? How could they, its not possible. The code is there, if someone adds something to make a new version and doesn't release the code for their changes, the original is still there, and still open. Nothing has been lost.

    1. Re:Well trolled. by dhfoo · · Score: 1

      > There is no way for anyone to take free code and "hijack it and close it".

      Dlink?
      TomTom?

      For an insignificant (and hypothetical) case like this, we really are only just talking about principles and the ramifications seem innocuous. However these same principles have ensured that we still have an open and freely available OS/kernel even though it outperforms proprietary solutions. The fact that a person or corporation hasn't become fantastically wealthy through the success of GNU/Linux probably scares the bejesus out of all the brainwashed, vested interest, capitalists out there.

      Talk about FUD and controlling others and pushing agendas. The proprietary industry has it's lobbyists and lawyers and all the money in the world (which they got from us, the long suffering and abused customer). All we have is an itty bitty license and they are scared shitless because regardless of what you think about the personalities of the drafter/s, they saw what was happening and gave us an alternative.

      We didn't have to take it but we did and look where it's got us. I have a whale of a time with OSS. I am only limited by my abilities and imagination.

      I already make my good living through specialising in OSS and my hope is that we can commoditise (?) the OS and utilities and then we can really start progressing, working on the really tricky problems rather than working out why the OS keeps crashing or doesn't scale.

      Enough.

      I choose GPL, you choose what you want and we'll see who's laughing in five years time.

    2. Re:Well trolled. by msuarezalvarez · · Score: 1

      I honestly fail to see in what way the GPL is about controlling others. That's not what caught my attention in your post: what's wrong with pushing an agenda? I would understand that you find exception at someone hiddenly and covertly and underhandedly pushing an agenda, but you cannot say, IMHO, that the FSF and the rest of the GPL proposing people have been secretive about the their purposes. It's on the blessed license text!

  194. Not always by Craig+Ringer · · Score: 1

    It's not that simple.

    I've been evaluating newspaper accounts and bookings systems recently. A key requirement is that I have some means of carrying on if the providing company goes out of business or is bought out. This means that I want something like a 3rd party support agent, code & documentation escrow, or some other form of safety net. I (well, the company I work for) has been burned before.

    Companies will um and ah about such issues, then cry "look, a turkey!" and evaporate from the room. They reassure you about their continued profitability - and when you point to your past dealings, and to outfits like PeopleSoft (hardly unprofitable), they tend to get nervous.

    If that were the only issue, the company I work for might bend. It's not. Most of this software is designed so that customers cannot effectively support and maintain it, it usually builds on top of various third party tools the developers have little control over (anybody who says "FileMaker can never go away" didn't see Visual FoxPro), and it's all arranged to make you dependent on them for ongoing support and licensing. You can't just buy the rights to use the damn thing and be able to go away if the quadruple the price for the next version.

    We're now considering building in-house. Carefully. The result won't be as functional or have the same history of robustness, but it will be documented, designed to be maintained by any reasonably skilled software professional, and it'll be ours. It'll also, without any doubt, be much better than what we have (but so would pen & paper at this point). Thankfully there's practically no accounting involved and what there is just involves low level data to be fed into the main accounting system, so compliance won't be too much of a problem.

    My point is that these are not just technical concerns. There are real business problems involved in these issues, and buying "turn-key solutions" may not always be the best long term decision for business infrastructure that cannot easily be swapped out. People think very hard about dependence on suppliers, individual employees, etc, but so rarely about dependence on critical pieces of software technology ... until problems arise with them.

  195. And if his code is closed by Wooky_linuxer · · Score: 1

    what stops someone else from adopting the same business model? Nothing at all, they'd have to write their own code, but nothing will prevent people from following someone's else business model. You can't obfuscate *that*, unless you, hum, don't sell your product and keep it safely locked in your basement. I'd hardly call it a viable business model then, but who knows.

    --
    Where is that guy who'd die defending what I had to say when I need him?
    1. Re:And if his code is closed by tftp · · Score: 1

      The value of the code is probably 90% to 99% of the value of the whole system, if we are talking about a small PC-like device. For example, you want to make a machine that automatically launches fireworks. You only need a single RS-232 interface to talk to the trigger box. The rest of the investment is in the software that defines when to launch, what to launch, and gives you the tools to compose the scenario and maybe even preview that. You can see that the software is the major part of the design, and opening it up would immediately make his business investment (time & knowledge) diluted among the copycats.

  196. User space? by blackjackshellac · · Score: 1

    If none of your code is running in kernel space, then you're home free. As long as you write all of your code, or use LGPL, BSD or similarly licensed libraries. Don't be afraid.

    --
    Salut,

    Jacques

  197. Answers by maz2331 · · Score: 1

    1. Yep - if you follow the GPL rules. 2. Nope. The resultant binary is a "derivitave work" of the libs and is a copyright violation. 3. Yep - do as you wish with your own code. 4. Maybe - if sued for infringement you may have to settle by publishing or face major legal costs, injunctions, and all kinds of other nasties. GPLViolations.org guys are pretty vigilant about their enforcement efforts. I know if I found any GPL code I wrote in your binary I would seriously consider a suit. If I license code under GPL, it's for a reason and I absolutely demand that the GPL rules be followed. 5. Yep - You can pretty much do anything you want with BSD code. GPL is specifically designed to prevent taking any of it propritary in any way, shape, or form. BSD doesn't care. I'd say you really, really, really should use BSD to meet your goals.

  198. Future considerations by Coward+Anonymous · · Score: 2, Informative

    From all the other comments it appears that you should have no problem given your current expected deployment.
    However, have you considered future possibilities where you may have to tinker with L/GPL code. For example if you discover a bug in a GPL/LGPL library or in the kernel and need to fix it for your purposes. Do you think releasing the fix would pose a problem for you?
    If the answer is that you think releasing the fix is against your best interest, you should go the BSD route. Otherwise, L/GPL is probably fine.

  199. Re:Hardware gives you a leg up, though in that cas by cbreaker · · Score: 1

    I wish more people would understand software as a service and not a product. What you explain here is exactly that, a service. If a particular company or user wants to use your software, they can do that. If they need any type of support, they can pay at that point (and this isn't much different then commercial closed-source software, which very often includes no free support.) But if they need features, they can also pay for that.

    I guess it almost becomes something like outsourcing your development work. You can pick a product you like, and use it. You can then contract out feature improvements and support to the company that wrote it in the first place. Being open source only helps the product become even better for anyone that uses it.

    It's a different way of looking at software, and I believe it's inevitably the way things are headed. The problem is that there's just too many programmers that think the old fashioned way - that software is only something to sell on a shelf, and if you don't, you don't get paid.

    --
    - It's not the Macs I hate. It's Digg users. -
  200. Not using other people's code? by iabervon · · Score: 3, Insightful

    If you're really writing it all yourself, none of these issues matter. If you're really writing standard C/C++ with only POSIX library functions, you're not linking against the kernel (so the kernel license doesn't matter), and you're not linking against any userspace libraries except for libgcc/libg++ (permissive license) and glibc (generally permitted). Dynamic linking is only actually a pain when either you're writing the library, or the library provider's versioning is lacking, or you've got a million libraries, or you're shipping the software not aggregated with the library you want to use.

    Of course, you'll want to use other people's code for some things. You'll almost certainly want to start your program using some shell scripts, but those don't have a non-source form and are generally not worth obfuscating. If you want to use more libraries, you'll have to look at their licenses (many important Linux libraries are BSD-licensed anyway, though). If you're writing kernel code, you probably want to open-source this part and do as little of the interesting stuff there as possible (for technical reasons: kernel bugs cause a lot more damage than userspace bugs; for maintence reasons: kernel developers will maintain cleanly-written open-source code for you across trivial API changes; and for legal reasons: it's a pain to avoid making your module a derivative work of the kernel).

    The ideal thing is to build a little computer running Linux with nothing in it that you wrote, and then use it to run a program that's entirely yours, and sell the whole thing to people.

  201. Re:Hardware gives you a leg up, though in that cas by trolltalk.com · · Score: 1

    "I read 'too much to bear' as taking too much system resources rather then 'too hard'.

    In an embedded system dynamic linking can eat up scarce resources. Static linking is faster to load, faster to run, and takes up less ram."

    It can also be used to free up resources. You only load what you need, as you need, then release it. It can also make startup times quicker, again, by only loading what you need at start. Use "RTLD_LAZY" - Runtime-load-lazy, so that you don't try to load everything at startup.

    The real reason - the poster thinks its "too hard" to #include <dlfcn.h>, and insert one lousy call to dlopen().

    More info here (with examples).

    Lame, lame, lame ... tsk tsk tsk. Where's the "-1 I wish a dingo ate this article" mod?

  202. Re:Hardware gives you a leg up, though in that cas by Zwack · · Score: 1

    This was my take on it too...

    Although I would argue with the "takes up less RAM" point as dynamic linking allows only one copy of the library to be loaded with every process sharing it, while static linking forces multiple copies of the library to be loaded...

    It's a six of one issue that depends on particular circumstances and can go either way depending on what you're doing.

    Z.

    --
    -- Under/Overrated is meta-moderation, and therefore is Redundant.
  203. Static linking is the key by Sloppy · · Score: 1

    Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    This is really the key issue, because if you do not include anyone else's code with the distribution of your product, then nobody -- not the Linux copyright holders, not the C library copyright holders, not FSF lawyers -- has any say in what you're allowed or not allowed to do, because you don't need to license anything.

    If you dynamically link, then all your "Can I.." questions are answered with "Yes." (Some people are going to tell you otherwise, but their arguments will be based upon the argument that the licenses themselves try to define what a derived work is, thereby causing licensing to be necessary. It's a circular-logic bug on their part; they forget that you first determine if you're making a derived work, and if the answer is Yes, then you read the license. No wording in the license has any bearing on the copyright question.)

    Ah, but you want to statically link. Then there's your problem. If you want to include someone else's code with your product, then you're going to have to get their permission (unless you want to violate copyright). If you're talking about the C libraries, then it's probably LGPL, so read that one carefully.

    Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
    Bascially, yes. If you decide to statically link someone else's BSD-licensed code and distribute it with your own stuff, a lot of "Can I.." questions get answered as "yessily" as though you weren't licensing anything at all.
    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    1. Re:Static linking is the key by Compulawyer · · Score: 1
      If you dynamically link, then all your "Can I.." questions are answered with "Yes."

      But ... this is only currently true under version 2 of the GPL. Version 3 of the GPL seeks to eliminate any distinction that can be drawn between static and dynamic linking. Consequently, any linking will do.

      --

      Laws affecting technology will always be bad until enough techies become lawyers.

    2. Re:Static linking is the key by Sloppy · · Score: 1

      A license can permit or prohibit whatever the author desires, but it cannot define the conditions under which licensing is necessary. Either dynamic linking causes something to be a derived work, or it doesn't. That issue is decided by copyright law, not license authors.

      Alas, copyright law is vague about it. But my interpretation, as a professional lawyer and copyright law judge with 20 years of experi-- oh wait, I'm not either of those. Um, but anyway, my interpretation is that copyright law doesn't say anything that even remotely suggests that calling a function causes something to be a derived work of that function.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    3. Re:Static linking is the key by Compulawyer · · Score: 1
      Alas, I am a professional intellectual property lawyer whose opinion is as follows:

      No matter what the right answer is, it will be very expensive to find out - especially if you have to get a court to tell you.

      --

      Laws affecting technology will always be bad until enough techies become lawyers.

  204. You will rediscover the problem with closed source by flyingfsck · · Score: 1

    on Unix systems, which is a lack of standardization between platforms. The only way to reliably distribute your code is in source form. So yes, you can distribute closed source, but your maintenance costs will be very high, since you'll have to recompile the code for a bazillion different platforms. Eventually, you'll get tired of that and publish the source.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  205. Depends by jshriverWVU · · Score: 1
    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)? Yup, since you're developing your own application. The base Linux system you would have to distribute source for, but since it will be vanilla code that shouldn't be a problem.

    2. Can I statically link the code with Linux libraries? Only if it's LGPL, otherwise no if you want to stay closed. Unless it's BSD then see #5.

    3. Can I obfuscate my code (e.g. encode it)? Dont see a purpose for this but it wont change anything.

    4. Could I be forced to publish this code by some 3-d party? Only if you're linking to GPL code. If it's LGPL or BSD you're fine

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems? From my understanding yes. BSD is more or less public domain + copyright notice.

    Obligatory Note: IANAL, so take it with a grain of salt, but I've been a dev for 11 years dealing mostly with FOSS

  206. You can't use GCC or any open libraries dude! by MrJerryNormandinSir · · Score: 1

    Here's what you need to Buy a commercial compiler or buy a commercial license for GNU C. Write all your own libraries or buy
    commercial llicense for the code you use. Create static binaries. Or take the open source route. Release your source
    and earn money supporting it! Obusifcate the install process so either technical people can install it like me can, and
    business types can't. Release a vm based demo of the application that will sell your app. Trust me, if the application is worth it
    you will get business.

  207. Should be fine by reed · · Score: 1

    Don't bother with static linking and obfuscation. Make sure that any libraries you're using other than the standard GCC C libraries, (GCC has a special GPL exception for this case, go read it if in doubt) are not GPL (some libraries have BSD-type licenses with little to no restriction on their reuse). If you're using a stock linux distribution out of the box, you don't have to worry about it really; technically someone can request all the source code to that linux distribution, so keep the copies used in each version of your product in a safe place (like with your backup tapes) on CDs or something (including source code packages) just in case. If you modify any of the GPL programs from that distribution, note you have to provide the code for your modified (derived) versions if someone asks for it, but that doesn't affect licensing of your product.

    If still in doubt, just email the FSF with specific and clear but detailed questions.

    Reed

  208. Re:Hardware gives you a leg up, though in that cas by Anonymous Coward · · Score: 0

    Yes, software is both service and product. However, the product side of it makes a lot more money usually.

    If all you sell is service support for a product you created, you are vulnerable to other companies who can provide the service more cheaply. Ie, a large company takes your code, bundles it with their existing open source packages, and supplies discount service rates that you can't compete with.

    There is also a very large number of products where you just can't sell service profitably.
    Especially if it's pure software as opposed to a system. The way that many large open source software products succeed is by having a huge user base willing to support it. If you've got a market of 1000 people, and the software can be copied, chances are 999 of them will never pay for service, just live with the bugs, fix it themselves, and just wait patiently for new features. This is fine for a hobbyist, but you can't make a living that way. To make a living with an innovative product that has a small market, you have to sell the product up front instead of hoping for back end service sales.

    And after all that, you have to hope some company doesn't steal it, since most developers don't have the ability to audit and investigate all competitors, much less take legal action against them (especially if the thief is in a foreign country).

  209. Re:Hardware gives you a leg up, though in that cas by Anonymous Coward · · Score: 0

    You talk as though such a company cares about customers? Many companies will gladly sell stolen products, then ignore any complaints from customers and keep support to a minimum. If they're in a foreign country that doesn't care about intellectual property very much, there isn't anything the original author can do except complain and regret that he hadn't locked up the code more tightly.

    Even "reputable" companies (names withheld) have made a business model out of buying small companies, taking their just finished products and slapping their own label on it, laying off all but 1 or 2 developers, and making those developers provide support. The company makes a lot of money of off initial sales, gets a few really disgruntled customers, but smooths it all over by paying off industry analysts to give them a good rating. In other words, they buy lemons, squeeze them dry, sell the lemonade, then look for other lemons to buy.

  210. Re:Linking looks like Next Next Finish by msuarezalvarez · · Score: 1

    Including the object files with the release does not mean, at all, that you'll end up having to link at installation time or anything remotely similar. It only means that you need to include the object files of your non-open code so that, if the user so chooses, he can link with them a modified version of the open dependencies.

  211. Answers by Cyclops · · Score: 1

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    yes

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    which libraries? how can you possibly imagine anyone will give you a straight answer when there are thousands of libraries? Are you even talking about the Kernel or confusing it with the greater GNU+Linux system?

    3. Can I obfuscate my code (e.g. encode it)?

    You can even not publish it at all, why wouldn't you be able to obfuscate?

    4. Could I be forced to publish this code by some 3-d party?

    If you include software someone else wrote, you have to respect the conditions. If the conditions demand that you use the same license, you have two choices:
      a) you comply with the license
      b) you don't include the software someone else wrote

    If you don't include any code you yourself didn't write, you are never forced to publish.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    Neither GNU/Linux boxes.

  212. Re:Hardware gives you a leg up, though in that cas by djchristensen · · Score: 1

    In your Linksys example, there is a hardware component that is not easy to replicate - there is a barrier to duplication. So in that case it is a great benefit to create and sell the hardware, but leave the software open so that the world can improve the functionality and attractiveness of the hardware you are selling.

    Minor correction: Linksys (prior to the Cisco purchase) did not appear to have any intention of leaving the software open, to allow the world to improve it or for any other purpose. It wasn't until someone discovered they were using Linux that they were forced to open up some or all of their code.

    A useful lesson was hopefully learned that at least for a hardware-based business model like that, opening up the code is far more beneficial than detrimental.

  213. The CORRECT answers by spitzak · · Score: 1

    We are selling closed-source software for Linux, just like you want to. So here are the ACTUAL answers:

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?

    Yes there is no difference. The set of things that can be closed source is not reduced in GPL3 (all changes are to things that would require you to distribute the source code anyway).

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)

    You do not want to statically link libc++ or any other standard library. DO NOT DO IT, some things in fact will not work if statically linked because of the dependencies on doing dlload of other parts. If you are really worried, you should distribute your program as an "app dir" that contains your copies of the shared libraries, and use the rpath linker switch so that the program looks in it's own directory for the libraries. The end user is free to remove your copies in order to expose and use the ones installed on their machine.

    Personally I have seen zero trouble on modern machines with libc, etc. We have had trouble with libjpeg, freetype, and libtcl, and include those.

    For non-standard libraries: well if it *really* is LGPL then you cannot statically link. Instead include it into the app dir as above. However I think you will find that *ALL* non-standard libraries you want to use are either not GPL/LGPL, or have an "exception" added to the license to allow static linking. This is because the authors of those libraries realize that nobody would use them without such an exception.

    3. Can I obfuscate my code (e.g. encode it)?

    You are not going to be required to distribute source code, so it does not matter. If in fact you had to distribute your source code, such obfuscation is not in compliance with the GPL, because that code is not "in the standard form for working on it".

    4. Could I be forced to publish this code by some 3-d party?

    NO. Even if you directly violated the GPL, you are only guilty of copyright violation. Copyright violation offenses can get you monetary fines and cease & desist letters. They CANNOT force you to do anything else, in particular they cannot force you to relase any information. An obvioius reason would be if your code is in fact a copyright violation of somebody else, if the GPL "forced" you to release your code, then you could violate anybody's copyright legally by just combining the copyrighted work with GPL.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    The only thing that is at all a problem is the LGPL libraries, and those exist on BSD, so there will be no difference there.

  214. A 3-d party? by Anonymous Coward · · Score: 0

    > Could I be forced to publish this code by some 3-d party?
    I really doubt it, no. In the unlikely event that you _did_ get invited to a real, 3-dimensional party, the chances of the conversation rolling round to your oh-so-clever software are pretty slim.

  215. Re:Why closed? by toadlife · · Score: 1

    You've just made a great case for the BSD license.

    --
    I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
  216. Re:Hardware gives you a leg up, though in that cas by Anonymous Coward · · Score: 0

    since he complains about dynamic linking (which is utterly trivial to do in Linux, Windows or BSD) being too hard, it's not that hard to come to the conclusion that at most he's "ordinarily skilled in the art"

    I have no idea what kind of software this guy intends to write; however, "dynamic linking" is dangerous ground in GNU/Linux. Here's an example:

    When I was in junior college, I helped administrate a small computer lab in the math department where we used a proprietary, binary-only piece of software called Matlab on GNU/Linux. Octave+gnuplot was not good enough for our purposes. One semester, we upgraded to the newest Redhat distro and Matlab suddenly started crashing on startup. I don't remember exactly what the problem was, but it had something to do with NTPL and the errno symbol in glibc. We were able to work around it with an environment variable, but later on the operating environment changed so much that we weren't able to run that version of Matlab any more without strange crashes.

    Anyway, the exact problem isn't important. What's important was the attitude of the glibc developers at the time: if our change to glibc broke your application, that's a bug in your application. You need to fix it because we're not going to provide backwards compatibility.

    After a response like that, it should be clear to any developer of closed-source applications on GNU/Linux that they need to statically link everything they can if they want their product to stand the test of time.

  217. Re:Hardware gives you a leg up, though in that cas by jythie · · Score: 1

    *nod* I admit I was thinking in terms of only one application being loaded (possibly even replacing init), no daemons, and all threads being owned by either the kernel or the single application. So I probably should have specified that static takes up less RAM if and only if only one copy of the library needs to be loaded.

    But as you point out, it all depends on exactly what is going on.

  218. The wrong questions by Simon+Brooke · · Score: 1

    You're asking the wrong questions, and I would argue you're asking the wrong questions because you haven't thought about your product from the point of view of the consumer. Imagine there are two products available which do something you really want to do. Both of them come from little teenie companies with no track record, which could go bust tomorrow.

    • One has clear, well written, well documented code released under a liberal open source licence. If the company goes bust, you know the user community (perhaps including you) will be able to support it.
    • One has proprietary code. You can't get the source and if you could it's obfuscated so you can't use it. If the company goes bust the product is a paperweight

    Which one would you buy? Seriously?

    Face it, if your product is any good, then any reasonable tech company could do a black box reverse engineer of it whether they had the code or not. Keeping your code proprietary scarcely bothers your competitors one bit, but it makes your product much less valuable to your customers. Do this, and watch the market walk away from you.

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
  219. Perhaps more accurate answers by kasperd · · Score: 1
    I found that the answers I could find in other postings were all slightly inaccurate. So here goes my attempt at answering as accurate as I can possibly do.

    1. Can I do it with Linux today (GPL2)
    If you really don't link against any third party libraries and only depnd on the kernel, no problem at all, you can just go ahead and do it. The license coming with Linux clearly states that this is OK. And my interpretation is, that they couldn't have forbidden you from doing this, even if they wanted to.

    and tomorrow (GPL3)?
    Since Linux is explictly licensed under GPL version 2 only, nothing is likely to change. After all changing Linux from GPL version 2 to GPL version 3 would require every author's permission. (Or the code would have to be identified and replaced).

    Even if the kernel or libraries you depend on are switching to GPL version 3, you could still be using the old GPL version 2 versions to build your software. If it happens to still work with later versions (and if you depend only on the kernel it is very likely to work), that is none of your fault. It is the users who decide to run your software together with some GPL version 3 code. And it is highly unlikely that the user would be doing anything illegal by doing so, since forbidding that would go completely against the spirit of the GPL.

    2. Can I statically link the code with Linux libraries?
    Strictly speaking there is nothing called Linux libraries. What you have in mind is probably glibc, which is licensed under LGPL. This license allows static linking provided that you allow the end user to relink it against a different version of the library. So you'd have to include not only the linked executable, but also the .o files, such that the user can do the final linking step against a different version. If you are going to ship the software on a CD, do the customer a favor and include the original tarball of the glibc version used (I'm not sure if you are legally required to include it). If the user downloads it over the Internet, give them a link from where they can download the tarball if they want to.

    (My own experience shows that dynamic linking is too much to bear.)
    If you are talking about glibc, keep in mind that it is not easy to link statically. If you try, you are very likely to end up with only parts of glibc linked statically and other parts still linked dynamically. This is going to break if the user is using a different version of glibc, because internal interfaces may have changed.

    Relying on dynamic linking might be a much easier way to go. If you are unsure avoid linking against GPL libraries. People disagree on whether a closed source program is allowed to dynamically link against a GPL library (I believe it is legal, but IANAL). Statically linking a GPL library into a closed source program is clearly a copyright violation.

    3. Can I obfuscate my code (e.g. encode it)?
    What would the point be in that if you only intend to publish the compiled code?

    4. Could I be forced to publish this code by some 3-d party?
    Probably not. If you are violating a third party's copyright, they can sue you. But only the author whose copyright you violated can sue you. In such a case you should obviously be stopped from distributing violating code, and may have to pay some compensation. But as long as you are able to pay a reasonable compensation, I don't see how you could be forced to give them code as well.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
    I'd say you are unlikely to run into problems in that case as well. It all comes down to which libraries you link against. If you use the same libraries on both platforms, you will have the same potential problems.
    --

    Do you care about the security of your wireless mouse?
  220. Well that can't be what they were asking by Anonymous Coward · · Score: 0

    Otherwise, what's all that crud about static linking? the license change between v2 and v3? The "not a problem on BSD"? If it's NOT about taking the code that is GPL'd, these questions don't make sense.

    IMO, the anonymous was trolling, trying to "prove" BSD is far better than GPL or that the changes in GPL3 are going to cripple acceptance of GPL code. Only under those conditions do the odd questions without any context make any form of sense.

    Unless you can explicate.

  221. Ah, I was thinking binary code by Moraelin · · Score: 1

    True, obfuscating or encrypting binaries has been around for a while. When he asked about obfuscating his code, though, I thought he means "source code." Still, you're very right with that correction. Thanks.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  222. More important question: by crhylove · · Score: 1

    Will your program eventually be replaced by a FOSS alternative?

    Resounding yes. No reason to play the same Quixotic game the big corporations are all falling for. There are plenty of ways to make money with FOSS anyway.

    --
    I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
  223. Something to consider... by GWBasic · · Score: 1

    Something to consider about opening your source up...

    Some open-source developers make money by working on their open source code. They contract for companies that use their code, developing features for hire. (I think this is how some Apache developers make their living, but I'm not sure.)

    If your "box" is commodity hardware and your software is easily reproducable, you might find that an open approach to your proprietary software is worth considering.

  224. More answers by HiThere · · Score: 2, Insightful

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?
    Yes

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
    That's what you get for using Windows.

    3. Can I obfuscate my code (e.g. encode it)?
    Not if you're GPL, but you don't show any signs of wanting to.

    4. Could I be forced to publish this code by some 3-d party?
    No. At most you could be forced to stop distribution and pay copyright damages. And that's only if you violate the GPL or similar license. (I.e., write your own code and you're safe.)

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?
    What problems?
    a) None of the questions that you have raised appear to me to be a problem.
    b) The base of the OS is almost irrelevant to every question that you have posed.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  225. Re:Hardware gives you a leg up, though in that cas by elhedran · · Score: 2, Interesting

    Very true I hate to admit. If there is not hardware or a service to sell then selling the program and giving away the source just will not work together. I can not tell you how I hate to admit that.


    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.
  226. Re:Why closed? by Anonymous Coward · · Score: 0

    "He wants to shaft the OSS community whilst ensuring that no-one can shaft him."

    No. He. Doesn't.

    Unless you think that ONLY open source applications can be allowed to run on Linux, and I don't think you're THAT stupid.

    RTFA, PROPERLY, then maybe you will... ...understand now?

  227. The real answers... by SETIGuy · · Score: 3, Insightful
    IANAL, of course, but I have some experience in these areas.

    1. Can I do it with Linux today (GPL2) and tomorrow (GPL3)?
    Yes, of course. However if GPL licensed binaries are distributed with it, you must provide source for those binaries for a period of no less than 3 years longer than you distribute the device or application. This, of course, applies to GPL licensed binaries even if they are running on a BSD kernel. This provision applies whether you have modified the code or not. You can rely on a third party to distribute the source code. However, if that third party ceases distribution of the source before the 3 years are up, you are still obligated to distribute the source.

    So, yes, if you distribute a linux kernel that you downloaded from "xyzzyplugh.com" you can direct people to "xyzzyplugh.com" for sources. But if "xyzzyplugh.com" goes out of business, you still need to be able to provide the sources.

    The same is true if you use a BSD kernel, but include the GPL application "spork" embedded in the device. You need to be able to provide the sources to "spork" regardless of where you obtained the "spork" binary and regardless of whether the "spork" sources are available elsewhere.

    2. Can I statically link the code with Linux libraries? (My own experience shows that dynamic linking is too much to bear.)
    No. If you statically link the Linux libraries, or any GPL licensed library, then you are obligated to license your application under the GPL. If you statically link a LGPL licensed binary, your application can remain closed source. However you must make source for the LGPL licensed library available, again for at least 3 years longer than you distribute the application.

    3. Can I obfuscate my code (e.g. encode it)?
    Source or object code? In either case the answer is "of course" for all licenses. But if you are under GPL or LGPL, you need to make the means to decrypt it available to anyone who wants it.

    4. Could I be forced to publish this code by some 3-d party?
    No, but you could be required to cease distribution and potentially be penalized in either civil or criminal court for any copyright violations you commit. This could apply regardless of the licence of the OS kernel you use. Be sure to understand the license of any software or libraries that you distribute.

    5. Am I correct that programming in and selling BSD-based boxes won't raise any of the above problems?

    No, you are not. Not all code in a BSD distribution is necessarily licensed under the BSD. Nor are you protected from anyone who claims that their code was improperly included in a BSD licensed application. Worse yet, there are potential patent violations in just about any device you might want to sell.

    I only have one follow-on question. Why are you so afraid of releasing your sources? What's the worst that could happen?

  228. Dynamic linking for code in ROM? by tepples · · Score: 1

    doing so kind of defeats the purpose of not dynamically linking Except on some embedded systems. Often, the development kits for these do not come with any dynamic code loader, or the code is stored in a mask ROM or NOR flash, which cannot be modified at run time.
  229. The "TiVO" argument by WebCowboy · · Score: 1

    But I do know that if my sole /product/ was software, I, too, would be leary about giving away the code for free.

    I would be leery about ANY business where the sole product was software, because ultimately any company starting up today whose sole purpose was to develop and sell a software application as a product is doomed to failure--it will either be swallowed up whole by another company (MSFT) or will die in obscurity. Even in the entertainment software industry, probably the last great hope for closed-source development, the barrier to entry is pretty damn high, and the biggest startup successes lately have been in the "casual gaming" category, where the business model is more around the game as "multimedia content" and revenue is made by advertising and employing an almost "network television" type of model.

    In your Linksys example, there is a hardware component that is not easy to replicate - there is a barrier to duplication.

    An entry-level router is NOT that hard to replicate. A user inclined to tinker might just use an old PC off ebay as a router--all it takes is a compact Linux or BSD distro and some spare network cards and some time. Furthermore, there are many players out there with competitive products that have non-Free embedded software and it hasn't proven to be of particular advantage to them to be more proprietary than Linksys--in fact it is to their disadvantage as tinkerers opt to go for the more open solution automatically.

    But I don't understand how this works with a pure software product. If you give it away to the world, then someone else is just going to take the code and make a derivative product from it that does the same thing but is free.

    Well, that might happen with a BSD-style license, though at least the world will know YOU did it because of the attribution requirements of the BSD license (that is how we know that MSFT couldn't be bothered to write their own TCP/IP stack for NT so they just lifted a BSD-licensed one). GPL, however, does its best to ensure a wide-open, level playing field. Yes, a competitor could undercut you by giving away a derivative product for free, but he has to play by the rules and let everyone see HIS code too, or you can quite rightly slap him with a copyright-infringement lawsuit. So, if that is what happens, jsut take this derivative product back, improve it even more and one-up him. /I/ wouldn't invest in a new product where I couldn't make any money selling the actual product but only support for it.

    Well, *I* wouldn't invest in any venture that was focused on selling software as a product and treated service and support as afterthoughts.

    As I said, if your business model relies on selling a copy of software like it was a widget you will be doomed to failure, so you'd better adjust your business model. In return for revenue you must add value. From an end-user perspective, there is ZERO value in a software license--it doesn't make their lives easier or make their business more productive or efficient. Generally licensing is one big pile of bullsh!t for a user--he has to punch in product keys here, activate software there, insert dongle god-knows-where to remove some deliberately-engineered artificial constraints on what he can do with his computer. GPL keeps the bull to a minimum for the end user--if you redistribute you must make source available on request which is no burden at all to end users.

    That said, I think it is very hard to justify more than a few dollars it takes to produce and ship a shiny plastic disc and a printed manual in a spiffy box UNLESS you have some REAL value to add in the form of support, consultation, customisation, hardware, etc.

    I guess I just still don't understand the free software movement as a business.

    the Free software movement ISN'T a business--it is a software development philosophy, and it is clear you don't have a full grasp of it. Obviously if you are a software developme

    1. Re:The "TiVO" argument by maillemaker · · Score: 2, Insightful

      >An entry-level router is NOT that hard to replicate.

      99.9% of the computer using population probably can't do it, or doesn't want to. My point is, they are selling the widget, and the software basically goes along for free. They don't have to worry about people tinkering with the software, from a profit/loss perspective, because they still get to sell the widgets, which are hard enough to replicate that most people would rather just buy one.

      >Yes, a competitor could undercut you by giving away a derivative product for free, but he has to play by the rules and let everyone see HIS code too,
      >or you can quite rightly slap him with a copyright-infringement lawsuit. So, if that is what happens, jsut take this derivative product back,
      >improve it even more and one-up him.

      This makes the assumption that, 1) having lost your investment in developing the original, but now worthless (due to being ripped off) application, you have enough resources left to make improvements to it and 2) that improvements can be made that people are willing to pay for.

      Sounds risky to me. I wouldn't invest a dime in such a gamble. Basically, you're spending money to develop a product that no one will pay for.

      >As I said, if your business model relies on selling a copy of software like it was a widget you will be doomed to failure...

      Sure sounds like it to me, too.

      >In return for revenue you must add value.

      But what I don't understand is how do you do this?

      When I buy a VCR, I don't want to pay maintenance to make it work. I don't want to pay maintenance to have access to new and improved versions of it. I just want a stable, reliable product for X dollars, and my transaction with your company is done.

      I know the big thing these days is to try and create "Revenue Steams" of perpetual "service contracts". I hate products like that. It's why I have no desire to have a Tivo. I'm not going to pay a subscription for a VCR. I bought the VCR, it should work just fine without me having to pay forever to make it go.

      There is only one software application where I have ever been involved in paying maintenance, and that is for CAD (Computer Aided Design) software. The maintenance gives you access to technical support plus access to the latest revisions of the software. For a business-critical application, I can see shelling out a couple of grand a year for this.

      But I can't think of any personal software application that I would be willing to pay maintenance for. When McAfee switched to a pay service, I switched to AVG. All the other software packages I have purchased outright, with no expectation of customer service or support.

      >As a potential customer, I'd have to ask this guy "what happens if your outfit disappears? How do I get bug fixes? Where would I get support?"

      I can't think of a single personal software application I've ever bought where I've considered those things.

      For all my office applications, I assume it would be a waste of time to attempt to email or call Microsoft. I don't worry about Microsoft going away, but I've got lots of games I've bought where the company doesn't exist anymore. This isn't a concern to me, because I figure by the time the company goes under either I'm finished with the application or someone else will be making a better version. I don't worry about bug fixes but I do take whatever patches become available. Basically buying software is a crap-shoot you have to do some homework before you buy it and make sure the user community thinks it is reliable or not. I have never gotten support for any personal software package I've ever bought, and I don't expect it. I'm certainly not willing to pay for it.

      >Anyways, I still can't comprehend trying to start up little "software company" around some little product you developed in this day and age--the approach is so 1980s.

      Well I guess I am a child of the 80's. When I buy a thing, I want to buy the thing and be do

      --
      A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
    2. Re:The "TiVO" argument by WebCowboy · · Score: 1

      99.9% of the computer using population probably can't do it, or doesn't want to. My point is, they are selling the widget, and the software basically goes along for free.

      About the same number of people cannot, or aren't willing to, compile a kernel or configure a server or set up a point-of-sale system or install their home theatre or whatever else--they hire someone to do it for them and the software comes along for the ride. It isn't free-gratis for sure, but it's just part of the cost of the system, just as the cost of non-Free embedded software licensing/royalties/etc is built into a lot of consumer electronic devices. The important thing is to consider where the VALUE lies.

      A bunch of computer files, even if it is on a shiny plastic disc and in a box with a glossy printed manual, has little to no intrinsic value on its own. You can plunk down $1000 or more on a box of Windows Server 2003 and it won't do a thing to run your business. It has to be installed and configured on your hardware to do anything useful at all. More and more, having a successful business is about how "value added" it is, so unless you are willing to put a great deal of support and service behind your non-Free application don't expect people to beat down your door. This is an EXTREMELY difficult task for a small upstart to do if it wants to make its presence known amongst the Microsoft's and IBMs. However, with Free software you can leverage the support of the developer and user community behind it and add your own value in the form of consulting, bundling, local, on-site service and so on.

      This makes the assumption that, 1) having lost your investment in developing the original, but now worthless (due to being ripped off) application, you have enough resources left to make improvements to it and 2) that improvements can be made that people are willing to pay for.

      You REALLY don't get it do you? Your application NEVER HAD ANY WORTH TO BEGIN WITH--even if it is closed source! You can burn it onto a CD and mail it to someone and it is only worth a partially-full used CD! It has POTENTIAL worth, but never had any "real" worth to begin with. There is much more real value in a "solution"--and people WILL AND DO pay for "solutions", and often software licensing is a minority of what they pay even if it is a non-Free solution.

      But what I don't understand is how do you do this?

      IBM understands it, which is why software licensing is a VERY SMALL part of their revenue stream. They offer VALUE-ADDED services--they take stuff with POTENTIAL value--software and hardware--and creat a solution with REAL value (an ERP system, on-line merchant systems, etc)--they build up this solution and hand it over to the customer and it is working and they use it and get value out of it--right there and then (if it is done right of course). This isn't like non-Free software where when you get it you sill have to install it, configure it, etc before you can use it. This is how things work with business/professional customers--and it works this way at the consumer level surprisingly often as well.

      When I buy a VCR, I don't want to pay maintenance to make it work. I don't want to pay maintenance to have access to new and improved versions of it. I just want a stable, reliable product for X dollars, and my transaction with your company is done.

      Since VCR's are obsolete I'd not buy one in the first place, but in any case...unlike a lot of software when you buy it it works right there and then...what annoys me is that MSFT and others sell SO MUCH software that is broken out of the box--for the longest time if you put XP on your computer and plugged it into the 'net it would be worm-ridden and unusable in 5 minutes.

      Even if you VCR DOES work when you buy it, what happens if it stops working? The cost of warranty service is built in EVERY ner comsumer-electronics device. With closed software, "warranty service" becomes the MAIN cost of the software. Can you imagine the ontol

    3. Re:The "TiVO" argument by maillemaker · · Score: 1

      >About the same number of people cannot, or aren't willing to, compile a kernel or configure a server or set up
      >a point-of-sale system or install their home theatre or whatever else--they hire someone to do it for them and
      >the software comes along for the ride. It isn't free-gratis for sure, but it's just part of the cost of the
      >system, just as the cost of non-Free embedded software licensing/royalties/etc is built into a lot of consumer
      >electronic devices. The important thing is to consider where the VALUE lies.

      But this is a different situation than the one we were discussion. In your example, the user has no CHOICE but to buy pay for both the hardware AND the service, because not only can they not replicate the hardware but neither can they set it up. In /those/ cases, the customer gets nailed coming and going.

      But in the case we were discussing, Linksys selling routers and giving away the software behind it, the value lies in the widget - the hardware. This is because in this case only one component of the pair can be gotten for free - the software, for those willing to play with that end of it.

      >You can plunk down $1000 or more on a box of Windows Server 2003 and it won't do a thing to run your business.
      >It has to be installed and configured on your hardware to do anything useful at all. More and more, having a
      >successful business is about how "value added" it is, so unless you are willing to put a great deal of support
      >and service behind your non-Free application don't expect people to beat down your door.

      I personally am not interested in plunking down $1000 for a piece of software if I am them bled dry in perpetuity to pay someone to make it go. I don't want "service after the sale". I want to buy the widget and have it work. If I have to pay a specialist to make it go, it's a scam. The only place this has a chance of working is in the business world. But with consumer software, not a chance.

      >You REALLY don't get it do you? Your application NEVER HAD ANY WORTH TO BEGIN WITH--even if it is closed source!
      >You can burn it onto a CD and mail it to someone and it is only worth a partially-full used CD! It has POTENTIAL worth,
      >but never had any "real" worth to begin with

      No, I guess I really don't get it. I guess I should go back to Best Buy and ask for a refund for all the software I've bought over the years. And to think I've been plunking down $30 to $70 and more all these years for worthless applications.

      >Even if you VCR DOES work when you buy it, what happens if it stops working? The cost of warranty service is built
      >in EVERY ner comsumer-electronics device.

      And that's fine with me, because the cost is up-front and fixed. And when the device stops working, usually I just buy another one, because the warranty has expired. This is a better arrangement, to me, then paying forever just to have an endless warranty.

      >The thing is, when you go and, say, buy MS office, you aren't buying it! You are REALLY buying a LICENSE and you
      >CANNOT do whatever you want with the little plastic disc because the contents on it AREN'T EVER YOURS.

      Yes, but we all know this is crap. In spite of what the license says, I own the disk. I /can/ do damn near anything I want with it, leastwise I can do as much with it as I could with, say, my VCR, or any other widget I might buy. It's mine. I can reverse engineer it, destroy it, install it on more than one computer (barring technical limitations), whatever I want in my own home, and as long as I don't tell anyone, it's all good.

      >Then MS comes out with a new version that introduces incompatibilities and you pay and pay and pay.
      >You are just kidding yourself if you think closed software is something you can "buy and be done with it".

      First of all, there are LOTS of software packages that I have only bought once and that was the end of it. I'm still running Off

      --
      A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
  230. Real world experience by cpghost · · Score: 1

    I had to implement a security auditing program for a government agency (don't ask which one: NDA) that would probe their whole network from a set of strategically placed boxes. Being familiar with both FreeBSD and Gentoo, I couldn't care less which platform those boxes would run on. The program itself was a somewhat convoluted big program in C++ that ran as a process and the dependencies on libraries (except libc or glibc and, of course, STL) were near zero.

    The interesting bits here were:

    • The program itself had to be released (only) to the agency under the 2-clauses BSD license.
    • The source code had to remain secret because it exploited specific weaknesses of their infrastructure.
    • The box had to run a variant of BSD, to steer clear of every licensing risk.
    • The C++ STL had to be non-GPLed and non-LGPLed to prevent inadvertant "viral licensing"

    Programming this had been easy as pie, of course, but the licensing discussions went on and on and on. In a nutshell, their lawyers were first afraid that releasing the code under GPL would force them to disclose the source (a big no-no), so they insisted on a custom license first. This wouldn't have solved their problem, if the code were accidentally GPLed through some careless linking etc... After some thinking, they finally agreed on a BSD-license for the code with the extra provisions to be extra-careful to avoid any external GPL and LGPL code dependencies.

    Then there was the problem of the platform itself. Specifically FreeBSD or Gentoo? Here again, their lawyers were totally nervous that this program would, by dynamically linking to glibc, get "virally license-infected" (their quote) so that it would magically become at least LGPLed, or at worst GPLed too. The assumed (wrongly) that they were under the obligation to automatically release the source code if it were GPL; while in reality, they were not planning to distribute the program at all! Without distribution, there were not under any obligation to release the source code to the public either! They had no qualms about BSD-licensed libc on FreeBSD though.

    Now, all this is pretty silly, and showed a big confusion about the scope of the GPL and LGPL; even among lawyers who should've know better. This special application was never intended to be released to the outside world; so licensing it under GPL wouldn't have been a real problem anyway (no distribution == no accompanying source code).

    To wrap up: what should you do? Since you're planning to sell (distribute) the software, you should definitively consult a good lawyer before going the LGPL/GPL route. You can't distribute closed-source software that is [L]GPLed (be it intentionally, or unintentially). The BSD route is less risky, but beware: there are some GPL and LGPL bits in BSD systems as well!, so you want to be careful what you link against and what you include in your code.

    But better yet: why won't you give back to the community? Is there any special reason for not disclosing your source code? Esp. under Linux and the BSDs, binary-only programs are a nightmare to maintain! Every new release of some dependent libraries, every ABI change across major release versions could break your binary app; and you'll have a lot of angry customers to care about, who would scream at you for newly compiled versions. You really want to save yourself all this hassle and sell them the source code directly. That's the only really sensible and reasonable thing to do.

    --
    cpghost at Cordula's Web.
  231. Why not Windows? by Anonymous Coward · · Score: 0

    Sounds like what you really want to be using is Windows Mobile. No problems there with having to release your source code. No problem with worrying about which licenses you may be infringing upon. The only thing you have to do is pay the license fee for each device shipped. (Unless of course, the main reason you're trying to leverage OSS is that you want something for nothing..)

  232. Poor logic, contradictions and self importance by EdelFactor19 · · Score: 1

    How is this informative? This is a classic example of a "NO YOUR WRONG Listen to me... by the way you are right" post. They seem to be the current rage on /.

    The writer states "LGPL does not allow you to statically link the code" which is incorrect.. They personally say so "This cannot be done with a statically linked executable (unless you're also distributing linkable object files)."

    Why are people so eager to state "ooo ooo you're wrong" when they don't even go on to say that the person was indeed wrong. Do you really think that by talking long enough before admitting someone else was right that people think you are intelligent and correct (although sadly the +4 says otherwise)

    This is what julesh SHOULD have said:
    "While it is correct that you can statically link your code, you can only do so if you provide the statically linked object files. This allows others to relink their code and thereby satisfy the requirements of the LGPL"

    Its shorter, sweeter, and that would actually have been informative. When the first thing you utter is "you can't do this" is contradicted by your post wherein you admit you can, then you are not informative. I have mod points but would rather point this out than modding and posting AC.

    of course this is basically what someone replied with, which magically was also +4 informative.. How its informative w/o providing any new information other than rephrasing a previous post is beyond me. It's a very basic premise of commenting and english writing, your main point should be made pretty much first and immediately, and the rest of your text should come to support it. yes there is a large variance with forums, but its a waste of our time if your post opens with "this is proof that x=1" and then you spend some number of lines on the (flawed proof) before finally saying and indeed x=1 unless you noticed that it doesn't because x=2. Save us some time, save yourself sometime, and figure out what your point is and make that first.

    --
    "Jazz isn't dead, it just smells funny" ~Frank Zappa
    EdelFactor
  233. We're not all bad you know. by MrCopilot · · Score: 1
    Disclamer: I am an advocate of F/OSS. I am also an embedded developer.

    I gather from your concerns you are not producing said boxes. You buy them and would like to write a smallish program and profit.

    Before you completely dismiss the possibility of GPL'd software, You should take some time to bring your understanding of the license up to speed. First off, there is no incompatability between GPL'd Software and profit motivated software developers. to quote the fsf:

    Does the GPL allow me to sell copies of the program for money?
    Yes, the GPL allows everyone to do this. The right to sell copies is part of the definition of free software. Except in one special situation, there is no limit on what price you can charge. (The one exception is the required written offer to provide source code that must accompany binary-only release.)

    If your boxes contain GPL code then you must still provide the GPL'd portions source for download or a written offer to supply the code. So your situation becomes, do I allow people to download everything they need to make the box work except "my program". (If you are selling it to them, isn't it really their program?)

    What drawbacks do you see to opening your code?

    Competition?
    You always face competition. If you fancy yourself so clever that it would be impossible for someone else to duplicate your effort, then you are in for a hell of a disappointment. Just ask the fine folks at MS (Office), or the fine folks at Sun (java), or the fine folks at AT&T (Unix).

    What are the advantages of opening your code?
    The entire GPL'd codebase to tinker with. Every GPL'd library/toolkit/OS. To be tweaked and twisted to serve your specific needs. Don't discount the value of "the community" testers, coders, hosting, the list goes on and on.

    Worse case scenario is a competitor uses your code in a similar if not identical product. They are legally obligated to not change the copyright notices that contain your name. The community will bury a violator. Now there are 2 products shipping your code. If the company is large enough they are more likely to approach you as the maintainer of the software than to just take your code. Additional income opportunities come around this way all the time. Check the newhire list at Microsoft and IBM

    Finally, the idea of immortality does not often come up in software development but the truth is: If your application is popular/usefull it lives on even well after you've lost interest. BusyBox, Sendmail, etc..., etc.. , could go on all day. No Bruce does not recieve a dime for the millions of users of busybox, (Common embedded application found in everything from mp3players to routers to Full linux pcs) but at times in his life he has recieved considerable sums of money to tailor its needs for a specific application. Nowadays a wholly different maintainer handles Busybox.

    You are trying to build $product and sell that $product. Open or closed you recieve money for every $product sold.

    Just food for thought. Its not so bad over here on Light side.

    GPL'd Software has been very good to me and I try as hard as I can to be good to it. You're welcome to join as is anyone else. Generally speaking, the more competent people looking at the source, the less bugs there are.

    --
    OSGGFG - Open Source Gamers Guide to Free Games
    1. Re:We're not all bad you know. by SuiteSisterMary · · Score: 1

      As a corallary, and going back to the Linksys example, I've seen, oh, five or six different firmwares for Linksys boxes. I've never seen the Linksys firmware adapted to other hardware.

      In other words, chances are that even if somebody else puts out a better version of your opened software, you're still going to be selling the hardware it runs on. Assuming, of course, that your hardware can't be simply replaced with an old computer that somebody has lying around. So, engineer the box properly, and you'll still sell.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  234. So EASY to make an application on Linux by Shadowlore · · Score: 1

    But it isn't tricky. Licensing is licensing the only difference between licenses is what you get and or give (pay, exchange). If you are going into the software business on any platform without proper understanding and respect for the licenses of any code you will be using then you are destined for failure or massive legal problems. THis is true of any license,

    Going closed source is not "any more "tricky" on Linux than it is on WIndows. Indeed, as far as licensing goes I'd put my money on it being easier. No endless negotiations and NDAs for the fundamental libraries and so forth - the vast majority of libraries are simply licensed with publicly available terms.

    For example say you want to make a proprietary application that is essentially a means to store, modify, and view data. So you use QT4, and SQLLite or PostreSQL. How is it tricky from a licensing standpoint? You purchase a license to make a closed source application using QT4 from TrollTech, you use the built in DB support for whichever of those libraries and there you go. How would you do the same on Windows? Well, exactly the same. Ok, so you purchase the Windows license instead of the Linux License. Hell the exact same process works for OSX.

    Yes, the flexibility there is due to QT, but the underlying platform is simply a platform in each case. And that is the point. Developing software where you don't write the whole infrastructure from scratch in-house involves licensing other people's code. That is no more tricky than the authors of the code you want make it. It so happens that BSD, GPL, and LGPL make it pretty simple.

    So your "hypothetical" is entirely without merit.

    --
    My Suburban burns less gasoline than your Prius.
  235. So dont' sell it by Shadowlore · · Score: 1

    Seriously. If you lease the hardware/software combo instead it isn't distribution.

    --
    My Suburban burns less gasoline than your Prius.
  236. Multiple Licencing by p.gogarty · · Score: 1

    My understanding of the GPLv2 is that if you use/modify existing code licenced to you under the GPL then you must also release your own code under the GPL.

    To circumvent this you may find that the libraries etc. You are wishing to use are release under multiple licences, where for a small fee you can licence the code for use in your project under a comercial licence. This effectively circumvents the GPL as you are now using the same code under a different licence and (in accordance with whatever comercial licence you are using obviously) you should be able to release your application as closed source completely legally.

    The GPL is there to promote free software and keep it free from initial developer to end user. If you want people to pay for your applicaiton it is only fair that some of that profit is passed to thoes whos code you have chosen to adapt/extend.

    --
    Paul Gogarty
  237. customers worry about being stranded by r00t · · Score: 1

    It's bad enough with the big vendors, who might discontinue a product without warning.

    With a small vendor, there's all that PLUS a very real chance of bankruptcy.

    Of course, Open Source software almost entirely eliminates the worry.

    Now, how do you plan to make your customers feel safe?

    1. Re:customers worry about being stranded by Bert64 · · Score: 1

      Exactly, and even big companies can go belly up leaving their users in the lurch, just in the IT industry alone we have:

      Commodore - Went bankrupt
      DEC - Nearly went bankrupt, got bought out and pulled apart
      Worldcom - Major accounting scandal
      Sinclair - went bankrupt, got bought out by Amstrad who pretty much moved out of the computer business
      Atari - nearly went bankrupt, dropped most of their products and moved to just producing games
      SGI - went bankrupt, twice, had to drop most of their products

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  238. What is left for professional engineers to do? by Douglas+Goodall · · Score: 2, Interesting
    On one side we have closed source operating systems with closed source development tools and libraries that are riddled with bugs, are inefficient, and expensive to get support for. Examples being Microsoft Windows, Visual Studio... People actually get paid to work for commercial companies that provide serious software in the space. The get to have families, homes, cars, and a life.

    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.

  239. a possible example... by DrHex · · Score: 1

    Take a look at the differences between two systems/groups that parallel your questions.

    Sveasoft on the commercial side.

    OpenWRT or DD-WRT on the Open Source side.

    And if you are familiar with the discussions/flame wars around this platform and code, I think it's safe to say there's a market for either one. Albeit, sometimes there's bad blood between closed source companies and the Open Source community, other entities who have profit as their prime motivator instead of passion for the idea have and do work and play well with the community.

    At the end of the day, the choice is still yours since it is after your Source.

    --
    Scientia et Potentia
  240. Don't forget to bundle souce.... by L33tGreg · · Score: 1

    If you are distributing an embedded system that contain Linux (and other GPL/LGPL software) you must either bundle source code / configs (e.g. kernel config) with those boxes or make an offer to supply the code for a reasonable fee (i.e. shipping & handling) for the components that fall under this license. This has nothing to do with whether your application falls under GPL or closed-source status. Also, you can't say go download X.Y.Z kernel source from kernel.org. You will need a copy of all the source code. In the past, I've made a CD ISO of all source code for embedded systems. If a customer was to ask for GPL code, I'd just copy the ISO and mail it out, usually for $5 - $10.

  241. Developing closed source on Linux by lukesky321 · · Score: 1

    It has been my observation that developing closed source software for linux does not work. As most of us know Linux has a significant community of users that will develop a open source alternative to your closed source software. It is not beyond the average linux user to find open source equivalents to closed source software. The real question should be why pay for something if you could get an equivalent item for free(legally of course).

  242. Re:Hardware gives you a leg up, though in that cas by Zwack · · Score: 1

    Well, thanks for the agreement... :-)

    Given that we know pretty much nothing about the exact scenario that is being discussed here there are several reasons that he might want to statically link rather than dynamically.

    Memory usage could potentially be an issue, particularly if he's basically using the kernel to manage hardware and one program is doing all the work. This assumes limited hardware in some respect, and the question has to be asked is it cheaper (in the long run) to use hardware with more memory or do more development to keep the memory usage down?

    Speed might be the issue, if there is basically one program then the issue would have to be start up speed. Loading dynamic link libraries does take a small amount of time, but again, if the start up speed is that critical then wouldn't better hardware resolve the issue more reliably?

    Finally disk space could be the issue. Assuming that you use a fairly smart static linker that only links the modules needed from each library then you could save "disk" space by static linking a single binary. However, if space is that constrained do you want the overhead of a full blown Linux distribution?

    It seems that these issues could all be resolved by either spending more on hardware, or spending more on development, and ditching the whole OS idea. If it's a single use device then do you need a full Unix kernel or do you just need a piece of software that can boot and control the minimal hardware that it needs?

    Again, I don't have any information that can answer these questions, I'm just speculating.

    Z.

    --
    -- Under/Overrated is meta-moderation, and therefore is Redundant.
  243. And you want to live on programming? by paulatz · · Score: 1

    This guy says that he want to sell software for living and can't link dynamically: he's clearly a troll.

    --
    this post contain no useful information, no need to mod it down
  244. Re:Hardware gives you a leg up, though in that cas by Bert64 · · Score: 1

    But if your product can be so easily copied, then your business model is flawed... It will only work at all with government interference to prop up your flawed business model. In a purely open market, you'd be forced to compete hard.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  245. Whats matter with /. .... 500 comments later: by losec · · Score: 1

    > 3. Can I obfuscate my code (e.g. encode it)?

    use perl.

  246. Re:Hardware gives you a leg up, though in that cas by maillemaker · · Score: 1

    >But if your product can be so easily copied, then your business model is flawed... It will only work at all with government
    >interference to prop up your flawed business model. In a purely open market, you'd be forced to compete hard.

    How would you do it?

    --
    A work that expires before its copyright never enters the public domain and thus enjoys eternal copyright protection.
  247. Nope, can't rely on "xyzzyplugh.com" by goldfndr · · Score: 1

    So, yes, if you distribute a linux kernel that you downloaded from "xyzzyplugh.com" you can direct people to "xyzzyplugh.com" for sources. But if "xyzzyplugh.com" goes out of business, you still need to be able to provide the sources.
    Apparently you didn't listen to that recent TLLTS (or was it TWiT?) in which a Linux distributor was lamenting the need to make the sources available, even though the Linux distributor was merely repackaging the content of others.

    Specifically, part 3(c) of the GPL v2 says:

    c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
    Since the OP intends to distribute commercially, the OP can refer others to "xyzzyplugh.com" but only as a mirror of the OP's own site under part 3(b) (or, alternatively, simply distribute sources in accordance with 3(a)).
    --
    Copyrights, Patents, Trademarks: temporary loans from the Public Domain, not real property ("intellectual" or otherwise)
  248. Re:Hardware gives you a leg up, though in that cas by Bert64 · · Score: 1

    Come up with something that can't be easily/affordably cloned (like a hardware product), or:
    Sell my easily cloned product at such a price point that it wouldnt be financially viable to undercut it.

    --
    http://spamdecoy.net - free throwaway anonymous email - avoid spam!