EmbeddedRelated.com
Forums

Intel Atom: pros/cons/hazzards?

Started by Don Y September 17, 2014
On 9/20/2014 7:29 PM, Don Y wrote:
> On 9/20/2014 4:09 PM, rickman wrote: >> On 9/20/2014 6:46 PM, Don Y wrote: >>> On 9/20/2014 2:54 PM, Dombo wrote: >>>> Op 20-Sep-14 22:41, Don Y schreef: >>>>> On 9/20/2014 1:34 PM, rickman wrote: >>>> >>>>>> My understanding is exactly the opposite. You can use it any way you >>>>>> wish on >>>>>> your own. But if you share your work with others you just have to >>>>>> share the >>>>>> source code as well. I don't see any restriction on who or how you >>>>>> share any >>>>>> of this. :S >>>>> >>>>> It *requires* you to share it! >>>>> >>>>> Does your employer share *his* codebase with his customers? >>>>> Competitors?? >>>>> >>>>> I want to make changes, improvements to a piece of code. I don't >>>>> want to >>>>> *have to* share it. >>>> >>>> If you want to take but not give then GPL is not for you. You are not >>>> alone in >>>> avoiding the GPL; the conditions stated in the GPL are often not >>>> acceptable in >>>> a (traditional) commercial setting and are either worked around or >>>> avoided >>>> altogether by choosing a product which has a licensing scheme that is >>>> more >>>> compatible with commercial requirements. >>> >>> It's not just "take but not give". E.g., I plan on offering all of my >>> sources >>> to "anyone who wants them, to do with EXACTLY as they please" -- with >>> the >>> sole requirement that they acknowledge me as the original copyright >>> holder >>> and indemnify me from damages, etc. >>> >>> However, if *they* don't want to share what THEY add; or, don't want to >>> assume responsibility for redistributing *my* sources (or even >>> disclosing >>> *which* sources they used!), then they shouldn't be REQUIRED to do so! >> >> If you code is covered by the GPL by being part of some existing GPL >> code, how >> can you be sharing it without also sharing the original GPL code. Is >> this an >> issue of defining *when* code must be covered by the GPL? > > Now you understand the problem? :>
No, I don't understand what you are saying...
> I can write something that runs *under* Linux and release it under any > terms > that I want. > > I can write a clever cache management algorithm and release it under any > terms > that I want. > > But, if that cache management algorithm is significantly integrated > (dependant > upon) the kernel in which it operates (NetBSD, Linux, etc.), then trying to > extricate it from that kernel is impractical -- like selling automobile > tires > without also making automobiles available for sale! > > This makes sense and is "fair" -- if you buy into the GPL "religion". > > Other FOSS "vendors" don't put those restrictions on the code that they > make available. E.g., I can take my cache management algorithm and create > a BETTER performing NetBSD kernel -- and NEVER disclose it's source code > even while commercializing that kernel! Nor do I even have to tell > folks which kernel I modified. Or, provide the sources to that kernel > WITHOUT MY MODIFICATIONS simply to "spread the FOSS gospel".
So what does that have to do with using Linux?
>>> If I deliver my sources to exactly ONE entity and then decide never to >>> offer them to any other entities, the first entity can LEGALLY keep them >>> "hidden" with no other obligations to me or any of his customers, etc. >>> >>> This is how traditional licenses work -- you are free to do what you >>> want >>> (and ONLY what you want!) with things that you "own". >> >> Good luck on that one. You "own" *NOTHING*. Try telling the >> government that >> you "own" your house and you don't want to pay the taxes on it since >> it is >> yours and not theirs. Or try adding a second story without a permit, >> or ... >> >> You still "own" the code you have written even though it is covered by >> GPL. >> You just are required to provide sources if you give it to anyone >> else. As >> with *many* things there are limits to what you can do with the things >> you own. > > The restrictions placed by the GPL are consequential to using code that was > originally GPL'd! If I start with something that is NOT covered by the > GPL, > then the GPL has no effect on what I can/can't do! > > If the *only* "legal" way you can listen to a particular song is to > download > it (pay per play) from the iTunes store -- and the terms of the license > agreement forbid you from storing it in any way -- then the only way > you will EVER hear that song is to pay for it -- EACH time you want to > hear it! > > OTOH, if you can also acquire (license) a copy of the song/album (i.e., > on a > CD) with more permissive license terms ("You can listen as much as you > want! > But, you can't make COPIES of this! So, in effect, you can LEND it to > your friend and still be in compliance.")
Getting pretty far off topic here...
>>> I have no desire to "educate" potential commercial (or private) concerns >>> as to how they can "live within" the GPL. I'll just avoid it >>> entirely and >>> be none the worse for wear! (because there are unencumbered >>> alternatives) >>> >>> My goal is to see my code *used*. As it doesn't run on a generic PC, >>> "being used" means having people invest in creating hardware designs AND >>> BUILDING THOSE DESIGNS. A big incentive for doing that is if they feel >>> they >>> can PROFIT from that (moreso than a 10% markup on a "board + >>> components") >>> >>> Who wants to invest thousands of dollars in a design, marketing, >>> support, >>> enhancements, etc. if you are competing with SparkFun? >> >> I do. I am looking for a project I can design and produce to the "hobby" >> market with some potential for the professional market. My stumbling >> block is >> the software that is required for most projects these days. I've >> looked at the >> rPi and can't find an example of a decent driver as one example. > > You *want* to develop a product -- and, presumably, make a profit on it > -- AND, > at the same time, have "anyone" be able to come along and recreate EXACTLY > what you have created? By buying a bare board from a fab house in China > and installing appropriate software?? > > What do you do when the fab house opts to sell the board WITH the "open" > software for the same price as the bare board? LESS than you are selling > them?? Where's your investment gone?
Uh, better than that they can order as many as they want of the bare boards from https://www.oshpark.com/ I'll make money selling the assembled boards. If someone wants to try to compete with me go for it! It's not like it is a difficult thing to reinvent anyway and it's not a big market. Look at all the Arduino clones. Is Arduino not selling anymore? -- Rick
In comp.arch.embedded Don Y <this@is.not.me.com> wrote:

(snip)
> You can fetch a copy of the GPL yourself. I'll just point out particular > differences between it and the 3 paragraph license I cited before:
> 1. You may copy and distribute verbatim copies of the Program's > source code as you receive it, in any medium, provided that you > conspicuously and appropriately publish on each copy an appropriate > copyright notice and disclaimer of warranty; keep intact all the > notices that refer to this License and to the absence of any warranty; > and give any other recipients of the Program a copy of this License > along with the Program.
One thing that this allows is for someone to download the source for Red Hat Linux, change all the places that say "Red Hat" to say "Scientific" instead, then freely distribute ScientificLinux along with the source. https://www.scientificlinux.org/ Note that one can't change the name to "Joe's OS", pretend that it isn't based on Linux, and redistribute it closed source.
> Nothing significant here. I can copy and distribute verbatim copies of > "unencumbered" products with similar terms. And, if I *don't* want to > distribute the source code -- in its original form -- THIS CLAUSE > doesn't require me to do so! It just LETS me redistribute it -- if > I so choose!
> You may charge a fee for the physical act of transferring a copy, and > you may at your option offer warranty protection in exchange for a fee.
> The unencumbered products don't preclude me from charging a fee, either!
> 2. You may modify your copy or copies of the Program or any portion > of it, thus forming a work based on the Program, and copy and > distribute such modifications or work under the terms of Section 1 > above, provided that you also meet all of these conditions:
Note that following this, much of the work that went into the original is being used by you. If you don't want that, rewrite all the original code from scratch.
> a) You must cause the modified files to carry prominent notices > stating that you changed the files and the date of any change.
> b) You must cause any work that you distribute or publish, that in > whole or in part contains or is derived from the Program or any > part thereof, to be licensed as a whole at no charge to all third > ----^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^ > parties under the terms of this License.
> I.e., the MODIFIED work must fall under the same license terms -- even > if only "part" of the GPL'd product is contained therein.
But without the GPL'd part, you wouldn't have a product. (snip)
> If I distribute NON-GPL'd portions of that work (e.g., *my* changes) > then I don't have to put them under the same license terms. Of course, > my changes -- in isolation -- would be pretty useless! If, instead, I > distribute my changes IN the modified original, then the license DOES apply!
> "I've got a new and improved automobile tire! But, I can't distribute > it ON an automobile..."
Well, say you found out that the difference between a Chevy and a Cadillac was that they put Goodyear tires on the Cadillac. Then you went out an bought a Chevy, put Goodyear tires on it, changed the name on the front to "Cadillac" and then put it up for sale. You might expect GM lawyers to contact you.
> Thus, it is not the intent of this section to claim rights or contest > your rights to work written entirely by you; rather, the intent is to > exercise the right to control the distribution of derivative or > collective works based on the Program.
> Yay! My work is my own! (duh!) But, if it doesn't make sense or have > value out of context, what good is that?
You are using other's work to give value to your work.
> In addition, mere aggregation of another work not based on the Program > with the Program (or with a work based on the Program) on a volume of > a storage or distribution medium does not bring the other work under > the scope of this License.
This is the way most get around the above restrictions. If you can arrange your modification such that they are "mere aggregation" then you can distribute them without the source. This is commonly done through DLLs. If you distribute a DLL that can be used with another program, or a program that uses a GNU licensed DLL, then you can distribute within "mere aggregation". The fact that they are on the CD doesn't make them a derived work.
> <shrug>
> 3. You may copy and distribute the Program (or a work based on it, > under Section 2) in object code or executable form under the terms of > Sections 1 and 2 above provided that you also do one of the following: > ---------------------------------------------^^^^
There are a number of commercial products that do this. Some Linksys routers are based on Linux, and distribute source. Others have modified the source and run it on routers that they bought. For one, linksys still sells the hardware, and two, few enough people do this that they don't lose much. (snip on source distribution methods allowed)
> I.e., so a recipient can sit down and start modifying the codebase, > immediately.
(snip)
> 5. You are not required to accept this License, since you have not > signed it. However, nothing else grants you permission to modify or > distribute the Program or its derivative works. These actions are > prohibited by law if you do not accept this License. Therefore, by > modifying or distributing the Program (or any work based on the > Program), you indicate your acceptance of this License to do so, and > all its terms and conditions for copying, distributing or modifying > the Program or works based on it.
Note again, that you can't modify and distribute Windows, even though it isn't GPL.
> As above.
> 6. Each time you redistribute the Program (or any work based on the > Program), the recipient automatically receives a license from the > original licensor to copy, distribute or modify the Program subject to > these terms and conditions. You may not impose any further > restrictions on the recipients' exercise of the rights granted herein. > You are not responsible for enforcing compliance by third parties to > this License.
(snip)
> I don't think you realize how many folks AVOID GPL'd sources. Do you think > *all* of their legal staff are "misinformed"? That it takes all this extra > language to say, "you have no obligations under this license"??
I suppose, but many do use GPL code, and properly follow the rules.
> C'mon, David. Tell me where it says I can freely copy WHATEVER I WANT out > of the Linux kernel and do *NOTHING* more than put a notice saying "portions > copyright XXXXX" in the documentation. Are you sure *you* don't > "misunderstand the GPL"?
-- glen
In comp.arch.embedded rickman <gnuarm@gmail.com> wrote:

(snip)

> I think the LGPL still requires you to provide the source code. My > understanding is the difference is in *when* it is in effect. It has > looser rules on when your code is considered part of the LGPL code. But > if you modify the LGPL code you still have the same sharing issues.
When I first saw LGPL is was Library Gnu Public License, as it is commonly used for system libraries. If you distribute a C compiler, people can sell (without source) program compiled with that compiler. Without LGPL, they wouldn't be able to link in libC and distrubute the output of the linker. So, LGPL allows you to compile and link programs with gcc, and sell them closed source. (The early gcc used the library of the host system, such as the one supplied by Sun or HP, before glibc was available.) -- glen
On 9/20/2014 7:33 PM, langwadt@fonz.dk wrote:
> Den s&#4294967295;ndag den 21. september 2014 01.09.04 UTC+2 skrev rickman: >> On 9/20/2014 6:46 PM, Don Y wrote: >> >>> On 9/20/2014 2:54 PM, Dombo wrote: >> >>>> Op 20-Sep-14 22:41, Don Y schreef: >> >>>>> On 9/20/2014 1:34 PM, rickman wrote: >> >>>> >> >>>>>> My understanding is exactly the opposite. You can use it any way you >> >>>>>> wish on >> >>>>>> your own. But if you share your work with others you just have to >> >>>>>> share the >> >>>>>> source code as well. I don't see any restriction on who or how you >> >>>>>> share any >> >>>>>> of this. :S >> >>>>> >> >>>>> It *requires* you to share it! >> >>>>> >> >>>>> Does your employer share *his* codebase with his customers? >> >>>>> Competitors?? >> >>>>> >> >>>>> I want to make changes, improvements to a piece of code. I don't >> >>>>> want to >> >>>>> *have to* share it. >> >>>> >> >>>> If you want to take but not give then GPL is not for you. You are not >> >>>> alone in >> >>>> avoiding the GPL; the conditions stated in the GPL are often not >> >>>> acceptable in >> >>>> a (traditional) commercial setting and are either worked around or >> >>>> avoided >> >>>> altogether by choosing a product which has a licensing scheme that is >> >>>> more >> >>>> compatible with commercial requirements. >> >>> >> >>> It's not just "take but not give". E.g., I plan on offering all of my >> >>> sources >> >>> to "anyone who wants them, to do with EXACTLY as they please" -- with the >> >>> sole requirement that they acknowledge me as the original copyright holder >> >>> and indemnify me from damages, etc. >> >>> >> >>> However, if *they* don't want to share what THEY add; or, don't want to >> >>> assume responsibility for redistributing *my* sources (or even disclosing >> >>> *which* sources they used!), then they shouldn't be REQUIRED to do so! >> >> >> >> If you code is covered by the GPL by being part of some existing GPL >> >> code, how can you be sharing it without also sharing the original GPL >> >> code. Is this an issue of defining *when* code must be covered by the GPL? >> >> >> >> >> >>> If I deliver my sources to exactly ONE entity and then decide never to >> >>> offer them to any other entities, the first entity can LEGALLY keep them >> >>> "hidden" with no other obligations to me or any of his customers, etc. >> >>> >> >>> This is how traditional licenses work -- you are free to do what you want >> >>> (and ONLY what you want!) with things that you "own". >> >> >> >> Good luck on that one. You "own" *NOTHING*. Try telling the government >> >> that you "own" your house and you don't want to pay the taxes on it >> >> since it is yours and not theirs. Or try adding a second story without >> >> a permit, or ... >> >> >> >> You still "own" the code you have written even though it is covered by >> >> GPL. You just are required to provide sources if you give it to anyone >> >> else. As with *many* things there are limits to what you can do with >> >> the things you own. >> >> >> >> >> >>> I have no desire to "educate" potential commercial (or private) concerns >> >>> as to how they can "live within" the GPL. I'll just avoid it entirely and >> >>> be none the worse for wear! (because there are unencumbered alternatives) >> >>> >> >>> My goal is to see my code *used*. As it doesn't run on a generic PC, >> >>> "being used" means having people invest in creating hardware designs AND >> >>> BUILDING THOSE DESIGNS. A big incentive for doing that is if they feel >> >>> they >> >>> can PROFIT from that (moreso than a 10% markup on a "board + components") >> >>> >> >>> Who wants to invest thousands of dollars in a design, marketing, support, >> >>> enhancements, etc. if you are competing with SparkFun? >> >> >> >> I do. I am looking for a project I can design and produce to the >> >> "hobby" market with some potential for the professional market. My >> >> stumbling block is the software that is required for most projects these >> >> days. I've looked at the rPi and can't find an example of a decent >> >> driver as one example. >> > > a driver for what?
Specifically a set of ADCs on the SPI bus. Someone was looking to simultaneously sample six ADCs for some signal processing and couldn't find anything for the rPI. Seems the SPI drivers are not very fast for whatever reason and regardless of speed can't be controlled by any sort of a hardware timer for stability. Unless I have missed something in the Broadcom manual it will require external hardware to establish the timing, then the SPI interface needs to be sped up to get adequate throughput. Are you using Google Groups? All the quotes are double spaced. -- Rick
On 9/20/2014 10:17 PM, glen herrmannsfeldt wrote:
> In comp.arch.embedded rickman <gnuarm@gmail.com> wrote: > > (snip) > >> I think the LGPL still requires you to provide the source code. My >> understanding is the difference is in *when* it is in effect. It has >> looser rules on when your code is considered part of the LGPL code. But >> if you modify the LGPL code you still have the same sharing issues. > > When I first saw LGPL is was Library Gnu Public License, as it > is commonly used for system libraries. If you distribute a C > compiler, people can sell (without source) program compiled > with that compiler. Without LGPL, they wouldn't be able to > link in libC and distrubute the output of the linker. > > So, LGPL allows you to compile and link programs with gcc, > and sell them closed source. (The early gcc used the library > of the host system, such as the one supplied by Sun or HP, > before glibc was available.)
Yes, I believe that FPGA vendors (at least I know Altera) has restrictions on *your* bitstream that says you can't use it in anyone else's devices. They were anticipating gate arrays being made from the FPGA bitstream so that the user had to do no additional design work. Such an ASIC company sprang into being and was shut down by the lawyers. Altera wants you to buy *their* ASICs. That is a *restrictive* license. -- Rick
On 9/20/2014 7:12 PM, glen herrmannsfeldt wrote:
> In comp.arch.embedded Don Y <this@is.not.me.com> wrote:
>> Nothing significant here. I can copy and distribute verbatim copies of >> "unencumbered" products with similar terms. And, if I *don't* want to >> distribute the source code -- in its original form -- THIS CLAUSE >> doesn't require me to do so! It just LETS me redistribute it -- if >> I so choose! > >> You may charge a fee for the physical act of transferring a copy, and >> you may at your option offer warranty protection in exchange for a fee. > >> The unencumbered products don't preclude me from charging a fee, either! > >> 2. You may modify your copy or copies of the Program or any portion >> of it, thus forming a work based on the Program, and copy and >> distribute such modifications or work under the terms of Section 1 >> above, provided that you also meet all of these conditions: > > Note that following this, much of the work that went into the > original is being used by you. If you don't want that, rewrite > all the original code from scratch.
Exactly. Or, use something else as a starting point that *isn't* GPL-encumbered. E.g., my network stack is considerably different from most FOSS (or even CLOSED!) stacks. Should I modify a GPL'd stack -- or one that isn't GPL'd? Or, a "closed", proprietary stack?? I'm "starting" at the same point for each option -- but ending up with different restrictions on what I (and others) can do with the code after it's done!
>> a) You must cause the modified files to carry prominent notices >> stating that you changed the files and the date of any change. > >> b) You must cause any work that you distribute or publish, that in >> whole or in part contains or is derived from the Program or any >> part thereof, to be licensed as a whole at no charge to all third >> ----^^^^^^^^^^^^--------^^^^^^^^^^^^^^^^^^^ >> parties under the terms of this License. > >> I.e., the MODIFIED work must fall under the same license terms -- even >> if only "part" of the GPL'd product is contained therein. > > But without the GPL'd part, you wouldn't have a product.
Unless the part that I leveraged was covered by a MORE PERMISSIVE license! The difference lies in what you "trade" for the licenses terms. E.g., buying a closed network stack costs money AND limits who I can show those sources to. A GPL'd stack places restrictions on what I -- and all who come after me -- are REQUIRED to do with *my* "modified" stack. A more permissive (e.g. UCB) license tells me I have to put a copyright notice in my documents. "From scratch" says I can do whatever the heck I want! Moving form "from scratch" to "more permissive" license gives me a BIG BANG (lots of existing code to leverage) for a LITTLE BUCK (the cost of a copyright notice. Along with everyone else down the line hereafter.
>> If I distribute NON-GPL'd portions of that work (e.g., *my* changes) >> then I don't have to put them under the same license terms. Of course, >> my changes -- in isolation -- would be pretty useless! If, instead, I >> distribute my changes IN the modified original, then the license DOES apply! > >> "I've got a new and improved automobile tire! But, I can't distribute >> it ON an automobile..." > > Well, say you found out that the difference between a Chevy and > a Cadillac was that they put Goodyear tires on the Cadillac. > Then you went out an bought a Chevy, put Goodyear tires on it, > changed the name on the front to "Cadillac" and then put it up > for sale. You might expect GM lawyers to contact you.
Of course! OTOH, if my tires *only* worked on Chevy's, then the fact that I can sell them independent of the actual cars means nothing -- if there are no Chevy car dealers! I.e., you could possibly MODIFY them to fit on Fords but no one would bother...
>> Thus, it is not the intent of this section to claim rights or contest >> your rights to work written entirely by you; rather, the intent is to >> exercise the right to control the distribution of derivative or >> collective works based on the Program. > >> Yay! My work is my own! (duh!) But, if it doesn't make sense or have >> value out of context, what good is that? > > You are using other's work to give value to your work.
Exactly. I have no qualms with even *buying* licenses! E.g., my Inferno license is a *paid* license -- despite the fact that YOU can get one "for free". But, it's silly to impose restrictions on the code IF YOU DON"T HAVE TO... IF THERE ARE OTHER ALTERNATIVES! "We're selling tires over here. But, you have to agrree to let us put an advertisement on your vehicle saying where you bought the tire! (that's almost *fair* -- they obviously want more business and who better to advertise then their customers?!)" "We're selling SIMILAR tires over here. And, we don't care if you DON'T advertise the fact that you purchased them from us!" If the tires are essentially similar, why commit yourself to the advertising requirement and expose yourself to potential litigation (Hey, you bought those tires from us and you're no longer displaying the advertising placard we placed on your car! That's a contractual breach!)
>> In addition, mere aggregation of another work not based on the Program >> with the Program (or with a work based on the Program) on a volume of >> a storage or distribution medium does not bring the other work under >> the scope of this License. > > This is the way most get around the above restrictions. If you can > arrange your modification such that they are "mere aggregation" > then you can distribute them without the source.
If it's an aggregation, it's a separate product. So, my own license terms would apply. E.g., I could forbid others from aggregating it with THEIR offerings without my express written consent (right to copy has been infringed!)
> This is commonly done through DLLs. If you distribute a DLL that > can be used with another program, or a program that uses a GNU > licensed DLL, then you can distribute within "mere aggregation".
Because a DLL can be summarily replaced -- a "drop in" replacement and the program still works.
> The fact that they are on the CD doesn't make them a derived work. > >> <shrug> > >> 3. You may copy and distribute the Program (or a work based on it, >> under Section 2) in object code or executable form under the terms of >> Sections 1 and 2 above provided that you also do one of the following: >> ---------------------------------------------^^^^ > > There are a number of commercial products that do this. > Some Linksys routers are based on Linux, and distribute source. > Others have modified the source and run it on routers that they > bought. For one, linksys still sells the hardware, and two, few > enough people do this that they don't lose much.
Exactly. OTOH, if ChinaCom.com stared selling Linksys hardware (something functionally identical!) and put a copy of the firmware (compiled from Linksys's own web site!) on their own web site AND STARTED UNDERCUTTING LINKSYS'S PRICES, linksys would be "significantly pissed"!
>> 5. You are not required to accept this License, since you have not >> signed it. However, nothing else grants you permission to modify or >> distribute the Program or its derivative works. These actions are >> prohibited by law if you do not accept this License. Therefore, by >> modifying or distributing the Program (or any work based on the >> Program), you indicate your acceptance of this License to do so, and >> all its terms and conditions for copying, distributing or modifying >> the Program or works based on it. > > Note again, that you can't modify and distribute Windows, even though > it isn't GPL.
Correct. Different license terms. When I build a product for a client, I no longer retain rights to anything "for hire". I.e., *I* can't go into competition with him. He, OTOH, can opt to sell source licenses to the materials that I wrote for him -- if that fits his business model. E.g., id Software (Doom et al.) would (unsure about today as much of this has been published) gladly sell their competitors a copy of the source code for their game engine! Obviously, they thought the revenues from that sale would be worth more than any potential "lost market share". After all, having the game engine doesn't give their competitors a salable *game*! (and, no doubt, the terms of the sale precluded their competitors from reselling licenses on the game engine -- id Software was going to be sure to be the only source for that code!)
>> I don't think you realize how many folks AVOID GPL'd sources. Do you think >> *all* of their legal staff are "misinformed"? That it takes all this extra >> language to say, "you have no obligations under this license"?? > > I suppose, but many do use GPL code, and properly follow the rules.
They decide what is important to them as a business -- or as private individuals (the copyrights for much GPL code are held by individuals or "organizations") E.g., Linksys (Cisco) can decide that their A/B router will be replaced by an A/B/G router in the next 12 months. Why not short-circuit the devlopment by leveraging GPL'd code? The code effectively *needs* one of their routers to run... so, they have not lost any sales! And, the folks who are willing to hack that codebase will, probably, eventually want one of those A/B/G routers... so, they'll have to BUY one... I.e., they lose very little by going this route. OTOH, folks like the PostgreSQL camp (UCB-ish style license) have a "product" that can run on ANY "PC". So, their revenue stream isn't tied to selling a proprietary piece of hardware on which the software executes (like linksys). Rather, they offer a *different*, ENHANCED product -- EnterpriseDB -- that is largely based on PostgreSQL but with additional capabilities FOR SALE! Over time, they can opt to take the source code modifications that they have made to "enhance" the original PostgreSQL product thereby creating the EnterpriseDB product and contribute them back to the PostgreSQL team -- thereby making them available to *all* PostgreSQL users. Presumably, at that time, they will have other "private" capabilities added into EnterpriseDB that still keep it differentiated from it's progenitor product (PostgreSQL). For them, this can be a win! It brings people into the potential EnterpriseDB market -- by exposing them to a very similar product, PostgreSQL. It also gets DBA's familiar with their product ("for free") so that when those DBA;s have to make a recommendation to their management re: a choice for an RDBMS for their business, they are more likely to recommend that which they already KNOW! EnterpriseDB
On 9/20/2014 7:11 PM, rickman wrote:
>>>> However, if *they* don't want to share what THEY add; or, don't want to >>>> assume responsibility for redistributing *my* sources (or even >>>> disclosing >>>> *which* sources they used!), then they shouldn't be REQUIRED to do so! >>> >>> If you code is covered by the GPL by being part of some existing GPL code, how >>> can you be sharing it without also sharing the original GPL code. Is this an >>> issue of defining *when* code must be covered by the GPL? >> >> Now you understand the problem? :> > > No, I don't understand what you are saying...
*MY* code is then covered (encumbered) by the GPL -- for all practical purposes (my point of selling just the tires but no one sells CARS!)
>> Other FOSS "vendors" don't put those restrictions on the code that they >> make available. E.g., I can take my cache management algorithm and create >> a BETTER performing NetBSD kernel -- and NEVER disclose it's source code >> even while commercializing that kernel! Nor do I even have to tell >> folks which kernel I modified. Or, provide the sources to that kernel >> WITHOUT MY MODIFICATIONS simply to "spread the FOSS gospel". > > So what does that have to do with using Linux?
I use operating systems every day to support the tools that I use: Windows, Solaris and NetBSD. Doing so, I gain experience with the issues pertaining to their use and operation. E.g., if you came to me with a Mac, I couldn't help you "solve your Mac-related problem... I don't use Macs! I can't access the Windows sources. I *can* access the sources for NetBSD. (I could *also* access the sources for Linux) So, when I want to see why something works the way it does (or doesn't), I can delve into the NetBSD sources to learn what I want and/or CHANGE what I need to change. Each foray into those sources I learn a bit more. Each time, getting more acquainted with the NetBSD codebase. So, when I want to create a network stack, I've already got a good idea of how the source tree is organized, how buffers are manged in the kernel, how system calls are implemented, etc. -- ON NETBSD! I can more readily get to what I want/need to extract the code that I would like (even if it is just to see *how* they are doing something because replicating it might not work in my target environment). Any code that I *do* "salvage" is "free" for me to use -- as long as I publish a copyright notice set forth in the license terms. Nothing more! Now, imagine, instead, I was running Linux, here. Over time, I get familiar with how *they* have structured their source tree. How *they* manage buffers. How *they* implement system calls. etc. So, when it comes time to looking at network stack implementations, I am better equipped to *find* their code and understand how it integrates with the rest of the "system". But, if I try to cut some of that code (maybe even most of the stack!) out of their codebase and use it as the foundation for *my* network stack, I have to drag in the GPL terms for the modifications/enhancements that I am making! If this is undesirable (it is!), then there is no advantage to USING Linux, here. I gain experience with something that's ONLY VALUE (to me) is hosting my tools! And, it gives me no "leg up" when it comes to trying to identify the code that I would prefer to salvage -- from the system with the less restrictive license! [Would you use metalworking tools around the house if you wanted to be a woodsmith? Sure, you can learn how tools *work*, but the experience you gain from metalworking tools isn't directly applicable to woodworking tools.]
>> The restrictions placed by the GPL are consequential to using code that was >> originally GPL'd! If I start with something that is NOT covered by the >> GPL, then the GPL has no effect on what I can/can't do! >> >> If the *only* "legal" way you can listen to a particular song is to download >> it (pay per play) from the iTunes store -- and the terms of the license >> agreement forbid you from storing it in any way -- then the only way >> you will EVER hear that song is to pay for it -- EACH time you want to >> hear it! >> >> OTOH, if you can also acquire (license) a copy of the song/album (i.e., on a >> CD) with more permissive license terms ("You can listen as much as you want! >> But, you can't make COPIES of this! So, in effect, you can LEND it to >> your friend and still be in compliance.") > > Getting pretty far off topic here...
I was trying to illustrate the sorts of terms you are free to put *in* a license agreement. If the user wants what you are offering -- and has no OTHER WAY of getting it -- then you can be as Draconian as your conscience allows!
>>>> My goal is to see my code *used*. As it doesn't run on a generic PC, >>>> "being used" means having people invest in creating hardware designs AND >>>> BUILDING THOSE DESIGNS. A big incentive for doing that is if they feel >>>> they can PROFIT from that (moreso than a 10% markup on a "board + >>>> components") >>>> >>>> Who wants to invest thousands of dollars in a design, marketing, >>>> support, enhancements, etc. if you are competing with SparkFun? >>> >>> I do. I am looking for a project I can design and produce to the "hobby" >>> market with some potential for the professional market. My stumbling >>> block is >>> the software that is required for most projects these days. I've >>> looked at the >>> rPi and can't find an example of a decent driver as one example. >> >> You *want* to develop a product -- and, presumably, make a profit on it >> -- AND, >> at the same time, have "anyone" be able to come along and recreate EXACTLY >> what you have created? By buying a bare board from a fab house in China >> and installing appropriate software?? >> >> What do you do when the fab house opts to sell the board WITH the "open" >> software for the same price as the bare board? LESS than you are selling >> them?? Where's your investment gone? > > Uh, better than that they can order as many as they want of the bare boards > from https://www.oshpark.com/ > > I'll make money selling the assembled boards. If someone wants to try to > compete with me go for it! It's not like it is a difficult thing to reinvent > anyway and it's not a big market. Look at all the Arduino clones. Is Arduino > not selling anymore?
Different size operation. The items I am talking about would typically have initial builds in the 10,000 - 100,000 quantity. I.e., something that requires a significant investment on someone's (commercial) part. E.g., my thermostat is far more capable that a "Nest" thermostat. Costs far less to build. Would obviously SELL for less. Do you really think *I* am going to invest in a custom injection mold, packaging, etc. and an initial build of 10K (1000 would be silly... 20 for each state in the Union?)? Sell them out of my garage?? :-/ You (I) need to attract folks willing to make big financial commitments. Anything that causes them to be uncomfortable ("What's to keep some chinese manufacturer from going into direct competition with us?") just decreases the chance of the product (i.e., DESIGN) being used! [I can build *one* and AMAZE the neighbors. But, that's pretty small thinking]
On 9/20/2014 11:40 PM, Don Y wrote:
...snip...
This is going around and around in circles so I'm just not going to 
worry with it anymore.


>> I'll make money selling the assembled boards. If someone wants to try to >> compete with me go for it! It's not like it is a difficult thing to >> reinvent >> anyway and it's not a big market. Look at all the Arduino clones. Is >> Arduino >> not selling anymore? > > Different size operation. The items I am talking about would typically > have > initial builds in the 10,000 - 100,000 quantity. I.e., something that > requires > a significant investment on someone's (commercial) part.
I want to make sure I understand. You want to design something that you will make one or two of and the intent is that someone else will be making them in the 10's of thousands but you will receive nothing in return. But you want to preserve their ability to use your work to make profits. Why do you care again?
> E.g., my thermostat is far more capable that a "Nest" thermostat. Costs > far > less to build. Would obviously SELL for less. Do you really think *I* > am going to invest in a custom injection mold, packaging, etc. and an > initial build of 10K (1000 would be silly... 20 for each state in the > Union?)? > Sell them out of my garage?? :-/
WTF are you talking about???
> You (I) need to attract folks willing to make big financial commitments. > Anything that causes them to be uncomfortable ("What's to keep some chinese > manufacturer from going into direct competition with us?") just > decreases the > chance of the product (i.e., DESIGN) being used! > > [I can build *one* and AMAZE the neighbors. But, that's pretty small > thinking]
I have no interest in trying to build many thousands of anything. I already have a product I make that I only need to sell a few hundred per year and it keeps me quite happy. I think the problem is that from the beginning the discussion was about *using* a GPL'd OS. But in your mind that means modifying it and including it a product which you have only skirted around until now. The rest of us have not been talking about building products that include the GPL'd code. -- Rick
On 9/20/2014 7:05 PM, rickman wrote:
>>>> It *requires* you to share it! >>> >>> No, that is factually incorrect. You are free to modify GPL code all >>> day long >>> and not share it with anyone at any time. GPL talks about what you >>> must do >>> when you *do* share it. >> >> "Sharing" meant to also include *sell* a product incorporating that code! >> You can use GPL'd tools to create other works. But, if you take those >> GPL tools and derive yet another product from them (or any portion of >> them), then the license terms apply to those derived works as well. >> >> IF YOU ONLY USE THAT DERIVED WORK INTERNALLY, then you have no practical >> obligations. However, if you start selling or distributing that modified >> (enhanced/derived/etc.) tool, then the license's terms apply. > > BINGO. The point is you have not explained what is so onerous about the GPL.
Anything that would discourage others from embracing a codebase! Given that there are many commercial concerns who avoid GPL'd code, this seems to be a reasonable concern (ask THEM for their reasons why -- perhaps they dislike the letter 'G'? -- it doesn't really matter to me what their reasons are. As I said before, I am not interested in educating people as to why or how they can embrace GPL.)
> You seem to have a problem with the fact that others will be subject to the > same conditions if they use your work which is GPL'd. So? So far you have not > explained why *any* of your work would be covered by GPL.
My work would be tainted by the GPL if it was derived from any GPL'd "product". E.g., if I snip the network stack from the Linux (GPL'd!) kernel and use that as the basis for my MODIFIED network stack, then I am subjected to the terms of the GPL. If I snip the network stack from the NetBSD (or FreeBSD) kernel (nonGPL'd) then the issue goes away. This should be a no-brainer decision!
>>>> Does your employer share *his* codebase with his customers? >>>> Competitors?? >>> >>> I am my employer and I don't use GPL code in my work. But that is >>> only because >>> there is very little GPL code available in the work I do. I mostly >>> write my >>> stuff from scratch so far. There are processors cores for FPGAs which >>> I might >>> consider using some day. But not so far. >> >> If those cores are GPL'd, then you will have to conform to the GPL's terms >> if you adopt one (for use in a product -- if you instead use one to create >> an electronic flyswatter that you use in your office, no problems!) > > Yes and that only makes sense to me.
As does the same for a piece of GPL'd software! Now, REAL hypothetical for you: you have two essentially equivalent cores that you can embrace. One license says: "Put a copyright notice in your manual that acknowledges that a portion of YOUR PRODUCT was derived from code that was originally copyrighted by ABC". The other license says this PLUS: "Make available the sources for the core that you got from us to all of your users/customers. If your modifications can not easily be separated from that, then publish your modifications as well. And, ensure that anyone to whom you sell or license your product/FPGA design ALSO follows these rules" Which core are you going to use, all else being equal? At the very *simplest* level, the former license is far easier to OBVIOUSLY comply with: "Here is the copyright notice that you required printed clearly on page 12 of my manual." No wiggling around with lawyers (potentially) arguing about whether your code fragment: if (FatherName == "Bob") then... is effectively the same as: if (NameFather == bob) then... etc. (e.g., imagine specifying a logic term as a sum of products vs. an equivalent product of sums -- and arguing about whether they are just thinly veiled attempts to sidestep licensing requirements: "No, this isn't 'Windows'; it's 'Doorways'!" :-/
>>> No, you don't have to share anything. There are any number of vendors >>> who use >>> GPL code and they have never shared any of it with me and they won't >>> even if I >>> ask... because I haven't bought their product, so they aren't >>> obligated to >>> share with me. >> >> Um, you might want to reread the terms of their license! And, if, indeed, >> they are NOT complying with those terms, call the FSF-police and let >> them badger them into compliance. > > No, they have no obligation to distribute source to anyone they didn't sell or > give the binary code to.
Actually, 3b suggests otherwise: b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your -----------^^^^^^^^^^^^^^^^^^^^^^^ cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, The point is to get you involved in redistributing the GPL'd code.
>> The whole point of the GPL is to *promote* sharing -- by requiring you >> to propagate the licensed code (you are encouraged to also share your >> improvements but can excise them from what you distribute if they are >> clearly "freestanding" >> >> 2b) You must cause any work that you distribute or publish, that in >> whole or in part contains or is derived from the Program or any >> part thereof, to be licensed as a whole at no charge to all third >> parties under the terms of this License. >> >> 2c) ... These requirements apply to the modified work as a >> whole. If >> identifiable sections of that work are not derived from the Program, >> and can be reasonably considered independent and separate works in >> themselves, then this License, and its terms, do not apply to those >> sections when you distribute them as separate works. But when you >> >> So, if I excise my "patches" from the "derived/modified" work, then I >> can distribute *those* as "separate works" under a different license >> (of my choosing). >> >> This only makes sense when you are building a "module" or some other >> object that has merit in a free-standing manner. NOT when you are >> modifying something else and adding or altering its functionality in >> some (small or large) way! > > You get so hung up on the details you can't see the issues.
The issue is when and how the GPL "attaches" to a work. I.e., if I can make something that has inherent freestanding value (no GPL'd code included), then it is free of the GPL's taint. (as it SHOULD BE!) So, unless your work is free-standing in the absence of GPL'd code, you're work is probably affected!
>>>> *I* may opt to share it; but, someone who embraces my codebase might >>>> NOT want >>>> to share it or his further improvements. E.g., a commercial entity that >>>> wants >>>> to exploit the work without sharing his enhancements, being called on to >>>> redistribute the original sources that he received or even tipping his >>>> hand as >>>> to *what* codebase he based his product on! (e.g., if my license terms >>>> force >>>> him to include a notice that says "Portions copyright Don Y" that >>>> doesn't >>>> tell anyone *what* sources he used, which version, changes, etc. And, >>>> *I* am >>>> under no obligation to provide those sources to those "other interested >>>> parties", either! I can abandon it or take it in yet another direction, >>>> entirely!) >>> >>> A bit long winded and confusing, but this is different. Here you are >>> talking >>> about a product that someone used GPL code in and now wants to profit >>> by. Yes, >>> here the GPL says you must share the original code as well as your >>> modified code. >>> >>> Your code would be shared though him since he is obligated to share it >>> if he >>> used it in a product. >>> >>> If you are describing a situation where your code was written with GPL >>> code and >>> distributed that way but you also distribute it as stand alone... I >>> find that a >>> very odd scenario and one that is very unlikely. Certainly I have no >>> horse in >>> this race so I won't even try to figure it out. >> >> The point is to let others accept your (my) code with as light a "touch" >> as is legally possible. I surely don't want to place things in the public >> domain. I *deserve* to hold the copyright on my works. However, telling >> others whom I would like to ENCOURAGE to adopt those works that they have >> some "other requirements" that they must additionally satisfy (and be prepared >> to defend in a court of law) is entirely different. > > None of this makes sense to me. You say the GPL is too restrictive on those > you share your work with but you want to retain your copyright... GPL doesn't > take your copyright. It requires you to *share*.
GPL doesn't take away anyone's copyright. They still are the legal copyright holder. However, the GPL requires you to freely *share* that which is covered by the GPL! As copyright holder to a nonGPL'd work, I don't have to share with *anyone* that I choose not to share with! Or, I can change my mind later. Or, put different terms on each licensee. My choice, entirely. "Microsoft Windows, Copyright XXXX Microsoft Corporation" They don't have to make sources available. They don't have to agree to sell you a BINARY license to their product! They can change their mind next week. They can offer a license that is good for 30 days. Or, "one boot" (like the 99c per play iTunes example I mentioned). However, if MS did something that caused their codebase to become tainted with GPL'd code, then the rules are different! By embracing the GPL'd code, they would have subjected themselves to its terms!
>> I can't think of anyone who would cringe at burying a copyright notice in >> some publication -- ink is practically free! >> >> OTOH, agreeing to provide *my* sources (even WITHOUT their modifications) >> to *others* -- presumably who also want to COMPETE in their market -- >> raises >> the bar. Not only the (reasonably trivial) responsibility of putting it >> on a publicly accessible server somewhere (for some amount of time) but, >> also, ANNOUNCING to those competitors that you started with THIS codebase! >> (I don't think many businesses are eager to share ANYTHING about their >> products or processes! They fret when they have to disclose INGREDIENTS >> on food labels -- and those say nothing about QUANTITIES, etc.) > > Yeah, some people don't like that, but many *do*.
And THE MARKET decides who to reward/punish! If consumers were concerned about no ingredient labels on products (assuming this was legal) and avoided those products, then the folks who didn't provide ingredient lists would either have to change their policy or live with reduced sales. Obviously, the free software "market" has decided that the GPL isn't the solution! If people disliked the fact that PostgreSQL isn't under the GPL and *avoided* it -- in favor of MySQL (which is GPL'd, IIRC), then the PostgreSQL folks would either decide to embrace the GPL *or* live with the market that NOT embracing it leaves them!
>>>> David seems to think I *can* do this under the terms of the GPL. I >>>> believe >>>> he is wrong. (read the GPL -- any version -- for yourself) >>> >>> I haven't seen anything by David that says this. >> >> He has EMPHATICALLY stated that: >> >> "I think you totally and completely misunderstand the GPL, totally and >> completely misunderstand how it applies to an operating system like >> Linux, >> and totally and completely misunderstand how open source development >> works, >> where it is a good choice, and where it is a bad choice." >> >> I believe I have stated what I *want* from a license. And, why the simple >> "3 paragraph" example is so much more preferable (Gee, folks complain about >> the lengths of my posts -- but not the length of the GPL vs. other >> licenses??). >> >> Given that he is so convinced that I "misunderstand", I would like him to >> clarify how the GPL lets me -- and anyone who embraces my codebase -- do >> "whatever they want" with it! And still comply with the terms of the GPL! > > There is no license that lets others do "whatever they want" with your code > other than just placing it in the public domain with no copyright and no > restrictions. Is that what you want?
"Put a copyright acknowledgement in your printed documentation" is pretty damn close to "do whatever you want"! I'm reasonably sure anyone using a GPL'd product would be willing to "accept" those terms as well!
>> Can YOU tell me how I can do this? How I can tell a potential commercial >> entity that they can freely embrace my codebase in their products JUST by >> adding those 3 paragraphs to some "user manual"? That, as long as they >> have done exactly this, I will have no legal recourse to come after them >> for violating the terms of the license, etc.? > > But you started out talking about why you didn't *use* Linux. How is that > related to giving away your code?
I've covered this in another post. Briefly, because I will consult the sources for any OS that I am USING, here, in the natural course of maintaining that software and LEARNING FROM THE WORKING IMPLEMENTATION THAT IT REPRESENTS. Why learn about some code that I can't/am-not-willing to incorporate into my own codebase? Why "infect" my codebase with a license from an encumbered piece of software when I can, instead, USE (day to day) unencumbered software and learn from *that*?
On 9/20/2014 9:56 PM, rickman wrote:
> On 9/20/2014 11:40 PM, Don Y wrote: > ....snip... > This is going around and around in circles so I'm just not going to worry with > it anymore.
Ditto! :> Little to do with "Intel Atoms"! :-/
>>> I'll make money selling the assembled boards. If someone wants to try to >>> compete with me go for it! It's not like it is a difficult thing to >>> reinvent >>> anyway and it's not a big market. Look at all the Arduino clones. Is >>> Arduino >>> not selling anymore? >> >> Different size operation. The items I am talking about would typically >> have >> initial builds in the 10,000 - 100,000 quantity. I.e., something that >> requires >> a significant investment on someone's (commercial) part. > > I want to make sure I understand. You want to design something that you will > make one or two of and the intent is that someone else will be making them in > the 10's of thousands but you will receive nothing in return. But you want to > preserve their ability to use your work to make profits.
Yes, exactly.
> Why do you care again?
So they are willing/eager to embrace the codebase and the products that are consequent to it! So I (and friends, colleagues, etc.), in turn, can buy those products off-the-shelf instead of having to build every instance of every product myself! (I don't want to be building boards!) "Gee, that's really cool! Would you build me one if I paid you?"
>> E.g., my thermostat is far more capable that a "Nest" thermostat. Costs far >> less to build. Would obviously SELL for less. Do you really think *I* >> am going to invest in a custom injection mold, packaging, etc. and an >> initial build of 10K (1000 would be silly... 20 for each state in the Union?)? >> Sell them out of my garage?? :-/ > > WTF are you talking about???
One of my designs is a smart HVAC controller (thermostat). The "Nest" is a similar product offered by "Nest" (recently acquired by Google). Nice sexy little package. Expensive price tag (e.g., $200-300?). Anyone wanting to bring my thermostat to market (more features, lower "cost") would have to invest in an injection mold for it, pretty cardboard boxes to package it in, sales literature, distribution channel, components for "many thousands" (unless they wanted to sell out of a garage), etc. This is a sizable investment. One would want to be sure to be able to make money on the manufacture (and any future product enhancements) before opening up their wallet!
>> You (I) need to attract folks willing to make big financial commitments. >> Anything that causes them to be uncomfortable ("What's to keep some chinese >> manufacturer from going into direct competition with us?") just >> decreases the >> chance of the product (i.e., DESIGN) being used! >> >> [I can build *one* and AMAZE the neighbors. But, that's pretty small >> thinking] > > I have no interest in trying to build many thousands of anything. I already > have a product I make that I only need to sell a few hundred per year and it > keeps me quite happy.
I don't want to build even HUNDREDS! I spent a fair bit of time, recently, trying to avoid building the *prototypes*! I am far more interested in getting the *design* right. So everything "plays well" together, looks like it was designed with a consistent philosophy and methodology, user interface, etc. Building (even prototype quantities) is largely a "chore"!
> I think the problem is that from the beginning the discussion was about *using* > a GPL'd OS. But in your mind that means modifying it and including it a > product which you have only skirted around until now. The rest of us have not > been talking about building products that include the GPL'd code.
You initially asked why Linux "couldn't do that" (probe the Atom's hardware). I mentioned that I don't *use* Linux. From there, explained why I didn't (because I can't leverage anything that I learn/copy from its sources without being encumbered with it's GPL). I obviously have no problem using CLOSED OS's -- Windows, Solaris being two examples, here. There's nothing that I can "go peek at" in those so its not an issue. However, with FOSS software, the whole appeal (IMO) is being able to inspect the sources... to learn from a "working example"... a "reference design", so to speak. Pick a reference design from which you can FREELY learn/benefit! (sigh) Done for tonight. Another cheesecake to put in the oven. Then, one *final* one next week. Thank God! :-/