Comment Re:Great cover, though. (Score 1) 454
> Personally, I think that's all a bit tinfoil-hat, but it's always possible.
Everything is possible. This is why intelligent people, when speculating, talk about what is very probable.
> Personally, I think that's all a bit tinfoil-hat, but it's always possible.
Everything is possible. This is why intelligent people, when speculating, talk about what is very probable.
> No, no, no. The GPL is an agreement between the author and another
> person. The GPL does not prohibit the author from making any other
> agreement she wants with any other person.
I'm not sure I'm reading GPL the same way you are. To me it seems like a contract between code producer(s) and consumer(s). AFAIK the law doesn't really make much difference if the two are the same, though that's a rather rare case (the notable case happening a few months ago when Wells Fargo sued itself).
But that's academic. As you noted, as long as you are the only one creating and using a library, you don't really need a license. But if you release a library as GPL, then accept somebody else's patch that patched code is GPL. And you can't use it in your own non-GPL product.
> You don't want to license your code under the GPL, because it would
> force the recipient to abide by the terms of the GPL? Okay, I'll grant
> that one.
Phew, thanks.
But seriously, yes, that's my main point here. I don't like when GPL is sprung on me, so I don't spring it on other people.
> That's not "embrace, extend, extinguish."
>
> In EEE, you (E1) take a popular protocol, one that allows several
> products to interoperate happily. You release your own product using
> that protocol. Next, when your market share is great enough, you add
> undocumented "features" (E2) that make your tools more useful, while
> causing competing products to go "WTF?" Finally, you hope, people
> start using your product exclusively (E3), in order to ensure that
> everything works.
For me that's no different than what FireFox did to IE with the, for example, Ctrl-K shortcut that takes you to the search bar. Only we are talking mindshare, not protocols, but IMO that binds even stronger.
(Side note: when I tried to use IE8 for a few days I got frustrated because Ctrl-K doesn't do the same thing as in FireFox. I found it amusing that Microsoft got their tactics turned on them and made the same mistake WordPerfect and Lotus made in not emulating the better sides and UI of their competitor but instead decided to create their own standards. Good luck with that.)
> Microsoft did it with Kerberos, they did it with ActiveX,
> and they're even now trying to do it with ODF.
ActiveX is the main reason why I think embrace & extend is overplayed here. The playbook is:
1. Use a protocol or something.
2. Become dominant.
3. Extend it.
4. Fuck over all the others that don't know how to reverse engineer it or are too proud to do it.
But #2 is overlooked here, or done with handwaving about monopolies. And while Microsoft's distribution channel used to dominate before the age of the Internet (and still does for operating systems), it can't make an inferior product dominant. ActiveX clearly demonstrates that.
Also, if you remember the late nineties, the Java guys and the Netscape guys were all saying that Microsoft is dead because the web is the new OS (whatever that means). So what do you think Microsoft should have done? Suck Sun's and Netscape's dick or fight back?
> Because the GPL would be a good defense against them storming in
> and wiping out your entire niche? MS has done it several times,
> and tried it a dozen more.
Dude. I run a small software shop. I'm not on Microsoft's radar. So you are saying that out of some fear of them I should screw all other programmers like me who are trying to make a living selling software?
> But you should at least understand what the GPL is before you decide
> whether to use it (or, more to the point, before you go on a public forum
> and spread misinformation about the GPL in the course of explaining why
> you won't use it)
I think I did understand it. Possibly I'm wrong. Your scolding above seems to indicate that you hold no such reservations. Funny, that.
Dejan
> You're saying that you wrote a bunch of libraries yourself,
> included those libraries in your own commercial products,
> then released them under BSD because releasing them under
> the GPL would have forced the GPL-ification of the products?
Yes. Ditto for anybody else who wants to use my libraries.
> That's not how it works. You own the copyright, you can use
> the code as you like, including packing it into proprietary
> products. The hoops you're complaining about having to jump
> through are imaginary.
Not really if I'm reading GPL correctly. What I _think_ you are saying is that since I'm the one writing the code and setting the rules for the license I can put out a license saying "this is under GPL for anybody but me" or something to that account, but that's not really GPL but a modification or a dual license.
But more important, people that use my library would effectively be forced to use GPL. As somebody that creates and sells software, that's exactly what I don't like done to me. I never was one of the kids to take their ball and go home because they don't like how the game is played. (And yes, I do send patches back to any libraries I use even when they are not GPL.)
> It's one thing to be okay with others making money off your code.
> It's another thing to be okay with another company pulling an "embrace,
> extend, extinguish" on you
People here use that phrase a lot, but I think it's an oversimplification. While I have seen MS do crazy shit (the original MFC license comes to mind), in the case of the browser, people forget how shitty Netscape was. IE won because it was a better product at that time.
Also, embrace & extend is a pretty good page for any software shop's playbook. For example, adding load & save for competing (closed source) product file formats to Word and Excel was a stroke of brilliance. FireFox, for example, did a similar thing when they supported IE's shortcut keys from day zero, and I applauded that move when switching to it. I wish more open-source GUI products did the same thing when trying to compete with the market leader.
But back to my main point: I don't spend one moment thinking about MS or Apple when releasing a library. Why would I screw all the people trying to make a living selling software just because of two companies?
Dejan
> That's what the LGPL is for.
That's what almost any open source (plus numerous closed-sourced) license except GPL is for. But the topic of this thread is GPL, so I was commenting on that.
Dejan
GPL is good for anybody not making money directly off software products. I don't buy all the ideology around it, but as Linus says it's a cool license because it enforces tit-for-tat.
However, GPL is the kiss of death for anybody trying to make money selling software products. If you have a software product and publish any of its libraries as GPL, then your product must effectively become GPL'ed. And you put hard work into it and want to charge money for that, but anybody can take that product and sell it cheaper or give it away for free.
You can then play games to work around it (spawn the GPL product from a commercial one and talk to it through a pipe or something) but whatever you do is just a kludge in order to dance around the license.
Personally, I gave away the few small, well-rounded libraries I made under the BSD license. I don't really mind if somebody takes them and uses them to build a product they'll be making money off. The knee-jerk reaction here is that when somebody says "commercial software" people imagine big dominant companies like Apple or Microsoft, but the number of programmers working there is dwarfed by the number of small 1-5 programmer shops trying to make a living.
In fact, I don't even mind if a programmer at Microsoft takes my source code and uses it in a product. I met a few of them and they are mostly nice folks trying to make the best software they can. If Microsoft shareholders profit to an infinitesimal amount from something I gave away for free, I don't really give a fuck.
Dejan
Windows thread creation costs more than Unix thread creation because it does more. Whether that work is useful to most people is somewhat dubious.
Windows kernel is roughly based on VMS, which at the minimum has a different security model than Unix. The one in Windows is finely-grained, while the Unix one is fairly coarse.*
In addition, a bunch of things in Windows have thread affinity and that has to be set up too. The concept of thread affinity for things like windows is pretty good for a desktop OS, fairly lousy for a server one.
Dejan
* Windows security model is more powerful than Unix's user/group/world one (ask any large corporation admin), but comes at a significant performance and complexity price. I can teach any programmer the Unix security model in less than a minute, but I know very few Windows programmers that know anything about Windows ACL/SID/Token APIs. (Yes, ma, that's that last parameter in all those calls that you always set to NULL to inherit from the thread settings.)
We used something similar to kill my daughter's (benign) brain tumor that was in an inoperable location, so unfortunately I know a lot about the subject.
Devices like this have been used for decades to treat brain tumors. Search for Leksell gamma knife or medical uses of the linear accelerators. The basic principle is to use numerous focused radiation beams from different directions in order to deliver the maximum possible radiation dose to the tumor (place where the beams intersect) while delivering less than lethal dose to the surrounding tissue.
These techniques have been limited mostly to brain tumors, because:
a) getting to them surgically can cause significant damage, and
b) the head can remain fixed during the procedure
What's new about the Cyberknife is that it can be used on internal organs that move as the patient breathes and his heart beats, two things you can't make stand still using general anesthesia.
Don't get your hopes up that this is something that will bring great improvements to tumor treatments. It won't. Surgery, followed by chemical therapy or radiation (to kill any malign cancer cells that have spread), is still considered the golden standard in most cases.
Tumor treatment has been improving incrementally. Your chances of surviving if you have a malign tumor are much greater than they were fifty years ago. But they still suck. Don't expect anything revolutionary until somebody finds a way (tailor-made virus or a tweak to your immune system) to kill just the tumor cells without killing healthy tissue.
Dejan
If mathematically you end up with the wrong answer, try multiplying by the page number.