Web Development

My Christmas wish is more open source for programmers (and an ultralight MacBook for me)


I haven't posted to this blog for a few weeks mostly because I've been slammed at work trying to help stabilize our Oracle Portal system that kept crashing every few days. We appear to have gotten a handle on it after spending a ton of time and money. But this experience has led me to my Christmas wish for every programmer around the world: more open source.

The biggest problem we had was that we couldn't get a handle on exactly what was breaking. It appears we had a bunch of little problems -- all of which added up to a system that wasn't stable and could get pushed over the edge from a variety of sources.

There are so many components to this system; plus, the various bits and pieces all logged things differently -- from little things like using totally different timestamp formats to big things like whether they included an IP address in the log.

The biggest gripe was when a log file wouldn't contain the critical piece of information we really needed. For example, one particular component would throw a nice Java exception into the log indicating that a network error had occurred. But it did not log to what IP address it was communicating when the network error happened. It would have been so helpful to know if it could have just dumped the IP address when it threw that exception.

I kept wishing I had access to the source code for all these bits so that we could modify them to log the pieces and bits we needed in the formats we wanted. I think that would have made the job a lot easier, and it would simplify future operations.

I could blame the original developers of the Portal for not anticipating all my needs and for not making a system where all the components log in a consistent way so that we could analyze all the logs with a consistent set of tools and techniques, but I don't think that's fair -- there's no way the developers of a J2EE container, for example, could anticipate all the other tools and systems that might get integrated with that container. There'd be no way to create a logging system in advance that could handle every need.

This is where open source would have been tremendously helpful. It would have given us the opportunity to make all the pieces work the way we want and need, so we can simplify the operation and maintenance of this system.

My Christmas wish for myself and all my fellow programmers is: I wish we could get even more open source software to make our lives simpler and easier.

Oh, and since I'm making such a nice magnanimous wish that's going to benefit everybody, I'd also like to make one selfish wish for me: If Apple really is building an ultralight Mac laptop, could I get one (preferably in black, if they make it in that color)?

50 comments
Absolutely
Absolutely

Agreed; you cannot truly have standards without open source. Without openness of the source code, all troubleshooting is too empirical, too little direct analysis of the instructions themselves. Thus, "hacking," in the proper, legal and honorable sense of the word, is necessary too much of the time that a programmer [b]should[/b] spent writing.

Justin James
Justin James

Funny enough, a TON of Oracle stuff is built on top of open source. I would bet that their portal is Apache and/or Tomcat at its heart! But the way Oracle builds on open source, it doesn't really matter anyways. J.Ja

apotheon
apotheon

I'm with you, 100%. In fact, I'd [b]love[/b] for Sun to just drop a load or get off the pot on the Java issue: 1. The JRE isn't being released under the terms of the GPL -- just the JDK. WTF? This is an obvious ploy to get more developers interested in developing in Java in a gambit in the ongoing war against .NET without doing anything substantive about the [b]actual problems[/b] people have with closed-source Java in the real world. 2. The JDK isn't even really released under the GPL. Just "most" of it. So . . . you can fiddle around with the internals of a lot of the JDK, but you can't just distribute the JDK itself under terms of the GPL -- which means that easy, convenient accessibility through software management systems on open source OSes is still just a pipe dream. With any luck, this sort of bait-and-switch nonsense will finally kill off Java entirely some time in the next half decade, and we can move on to better languages. I think the worst-case scenario is more likely, though: that Sun's song and dance will actually [b]work[/b], and ever-larger numbers of open source developers will get sucked into developing Java software that isn't portable worth a damn, thanks to the obstinately closed-source JRE.

apotheon
apotheon

Excellent link. I'll be watching the development and spread of Sage, now. It looks pretty promising. Software like Matlab always drove me to distraction.

Justin James
Justin James

There is one exception to this, and that is when the standard is unequivocly clear, covers all possible scenarios, and is otherwise provably perfect. And someone manages to write code that perfectly adheres to the standard. However, without that kind of magic (wishful thinking!) scenario taking place, having access to the source can make a world of difference. That being said, my experience has been that the more you find yourself needing to look at the source code, the worse it will actually be. After all, there *is* a reason why it is not working as documented and/or expected. :( Early versions of Tomcat (heck, anything Java related circa 2001) are a prime example of this theory in action. I had to tear apart Tomcat to find out why it wasn't working as the documentation said it was, only to find a comment in the code that acknowledged that it was broken and needed to be fixed. J.Ja

RexWorld
RexWorld

The Web server that Oracle uses is called Oracle Http Server (OHS). And you're right, it is really just Apache with a few Oracle modules like ones that integrate to the Oracle single-sign on solution and another to let you run PL/SQL code out of your database similar to how you might run Perl or CGI's. But other bits, like the Oracle Container 4 Java (OC4J, their J2EE container) appear to be Oracle-bred products, not open source.

Absolutely
Absolutely

[i]That being said, my experience has been that the more you find yourself needing to look at the source code, the worse it will actually be. After all, there *is* a reason why it is not working as documented and/or expected.[/i] Conversely, the more you're able to look at the source code, the more likely that kind of crap gets found, published, and corrected in everybody's implementation. [i]Early versions of Tomcat (heck, anything Java related circa 2001) are a prime example of this theory in action.[/i] I refuse to even look this one up; I wasn't paying close attention c. 2001 to what Sun Microsystems was doing about what, to whom, or why. I just suspect that about that time, if "anything Java related circa 2001" was screwy, it was because Sun was able, in that period, to tell programmers to use it, like it, STFU and don't ask questions about it. [i]I had to tear apart Tomcat to find out why it wasn't working as the documentation said it was, only to find a comment in the code that acknowledged that it was broken and needed to be fixed.[/i] I wonder if somebody went on vacation and forgot to fix his own error when he came back, or insisted a bug is not just an "undocumented feature" and was fired.

apotheon
apotheon

In Vim, the / is used for normal text searches. The f and F keys, however, only search for one character at a time. Just hit FG when in command mode, and it automatically searches backward for the first instance of G it'll come across. That's it. By the way, something that tends to bother people who have not used Vim before is the manner in which one moves up and down lines. The hjkl keys are used to move left, down, up, and right, respectively. The j and k keys, however, move up and down one [b]true[/b] line -- they move before or after the next newline character. Often, people using Vim for the first time are used to moving one [b]screen[/b] line -- before or after the next linewrap, rather than newline character. There is a way to move past a linewrap instead of past a newline, however. Just precede your j or k character with the g character (in command mode, of course). Thus, to move up one screen line, you would enter [b]gk[/b], while to move up one true line you would enter [b]k[/b]. Obviously, this won't work with the arrow keys in insert mode -- just one more reason to get used to using hjkl instead of the arrow keys (I guess that would be , respectively). Also . . . people coming from other editors like Notepad, MS Word, and gedit tend to think of something like insert mode as the default -- but in Vim, it helps to think of command mode as the default. The way Vim is designed, one is expected to enter insert mode when actively entering text, and exit insert mode immediately when done typing. Any time you get up to answer the phone, warm up a slice of left over pizza, use the lavatory, or attend a meeting, you should hit the key to make sure you're in command mode. This ensures you are always in a default state when you come back to whatever you were doing. The power of Vim is in its command mode. Use it. Hmm. Maybe I should write an article about this.

Justin James
Justin James

It's TR's issue, not IE's, in this case. TR came back and complained that the post subject & text were empty. I've seen that before, it is often a sign that something happened on their end, like a session timeout or maybe some server maintenance, or the load balancer not sending me to the same server... bleh. Time to resume copying the post before I hit "submit". J.Ja

shardeth-15902278
shardeth-15902278

1. True, copyright doesn't necessarily go to the creator. Part of that employment agreement business (feels positively Feudal - The nobles/serfs aspect anyway). I certainly won't argue that copyright isn't subject to abuse. (Particularly since I already previously said it was, and I try hard not to argue with myself; It is embarrassing, especially when I lose those arguments :) ) 2. Ideology is a better word, thanks. 3. How could you NOT know what 'freesource' is? 'Freesource' is 'copyfree', when typed by someone who is splitting his time between a post, a SOX audit, and Surface Integrals (Particularly since it has been 11 years since that individual has done any serious vector math). Sorry for the confusion.

Absolutely
Absolutely

[i]Yes, it was quite complimentary of all involved! I also included a code number to be used at NewEgg.com for a $5,000 gift card, but I forgot the number. So someone at TR owes you. BIG TIME. That's a lot of quad core CPUs....It's funny, I used to ALWAYS copy the contents of the edit field before hitting "submit", just in case... but TR has gotten so much better lately, and IE 7 seems to save the pre-submit state of the form if I hit back...[/i] Sure, until my truckload of equipment is at stake, then Microsoft decides it's time to test their new 'frustration detection' software by increasing my frustration! http://arstechnica.com/news.ars/post/20080103-microsoft-patents-frustration-detecting-help-system.html Galaxy! I quit using the stuff and it still finds a way to get in my way! [i]Never happens with the short ones![/i] Well, I won't name any names, because it isn't necessary, but you could switch to an operating system with longer average time between restarts, a kernel that can actually be *meaningfully* distinguished from its applications, and which isn't so ashamed of its programming that it hides behind "no reverse-engineering" rules, and ... well, I guess I've now crossed the invisible, mile-wide line between subtlety and obviousness, so off I go in search of a new dead horse. Cheers!

Justin James
Justin James

Yes, it was quite complimentary of all involved! I also included a code number to be used at NewEgg.com for a $5,000 gift card, but I forgot the number. So someone at TR owes you. BIG TIME. That's a lot of quad core CPUs. All joking aside, it was a fairly good wrap up, I thought, to all of the "dangling threads" in this conversation... It's funny, I used to ALWAYS copy the contents of the edit field before hitting "submit", just in case... but TR has gotten so much better lately, and IE 7 seems to save the pre-submit state of the form if I hit back, that I stopped doing it. For whatever reason, probably related to either an AJAX type thing, or a pragma/cache setting deal, IE didn't remember the text, and of course, it got chewed for the first time in a long time. Never happens with the short ones! In fact, I suspect that the problem lies right there, that there is a timeout somewhere along the line. J.Ja

Absolutely
Absolutely

I have this funny cheat sheet I downloaded from some website, which says all the same things, but not nearly as clearly. I totally forgot about combining 'n' with other commands, for example, trying to figure out the basic use of the most important letters in command mode. I'll bookmark that summary you just posted, save a copy in vim, not gedit, and probably never need another vi reference of any kind! The 'find' key I've been using is '/' and I can't wait to see how 'f' & 'F' work differently. Thank you!

apotheon
apotheon

Oh, neat. I didn't check that -- apparently, unlike Vim's usual behavior, opening it with View Source With causes it to automatically expect to be saved to the edit buffer in Firefox. Even better. . . . [b]copy/paste:[/b] Note that any commands in `backquotes` in the following are entered in Vim's command mode (not insert mode). Anything you delete gets sent to the paste buffer in Vim. Vim actually supports multiple buffers, but for general use just pretend it has one and every time you delete something it replaces the last thing that was there. That means that if you hit `x` several times to delete several letters, you'll only have the last letter in the (foremost) paste buffer. You can use `dd` to delete a line. You can use `[n]dd` (where [n] is a number, like `12dd` for instance) to delete n lines in one shot (and insert those lines in the buffer). You can use `yy` (or, again, `[n]yy`) to copy lines without deleting them (Y stands for Yank in this case). You can follow either a `d` or a `y` followed by a single movement command to delete everything from the current cursor position to the end of where the cursor goes. If your cursor is sitting on a parenthesis, a bracket, or a brace, you can jump to the matching parenthesis, bracket, or brace by entering `%`. Thus, if you enter `y%`, it will "yank" everything from the current delimiter to the matching delimiter. This works both backwards and forwards, depending on which delimiter is currently marked by the cursor. You can use `f` to "find" forward, searching for a specific character. Thus, `fG` moves from the cursor position forward to the first instance of a capital G. Similarly, `F` is used to "find" backward. Parentheses move to the beginning of the current sentence or the beginning of the next sentence -- so, to delete the current sentence (and any spaces between it and the next), you'd enter `d)`. Pasting is dead easy: `p` will paste after the current cursor position, and `P` will paste before the current cursor position. You can paste multiple times just as you can do almost everything else multiple times, with a command like `[n]p` to paste forward n times. If all else fails, you can also just use the X Window System's copy/paste capabilities. Highlight some text you want to paste, make sure your cursor is in the location where you want to paste your text, enter insert mode, and middle click anywhere in the Vim window. gVim works differently: Pasting with the middle-click puts it where your mouse cursor is pointing, not where your text cursor is located, which I find incredibly inconvenient. Of course, for someone used to text editing tools like Notepad, MS Word, and gedit, that probably seems only natural. I don't like the degree of precision required to make sure I'm always exactly where I need to be with the mouse, fine tuning location with tiny nudges, so I don't get the text in the wrong place. Um . . . I think I hit the high points. I may have forgotten something.

Absolutely
Absolutely

[i]As for the name . . . it's called "View Source With" because if you right-click on a webpage you can use "View Source With" to view the page source with the editor of your choice.[/i] Ri-ight, there it is! I thought I had misconfigured it, but it's just more versatile than I thought. How cool! [i]By the way, you might want to give gvim a try if you want to learn something about how to use Vim.[/i] Mm, I've been using vim frequently the past couple months, and I still don't grok the copy/paste, so maybe I'll do that. [i]You can use it almost as a standard modeless editor, but as you go you can start learning Vim commands as well, until you're comfortable enough with it to eschew the graphical interface for the editor. It even has the Vim commands that match various menu options listed next to the menu options. I'd recommend opening gvim and hitting to get the overview of how to use Vim (it just brings up the standard Vim quick start guide).[/i] P.S. It does still work if, after saving in the temp directory, I save to my home directory. However, it first looks like it doesn't work. Immediately after closing Gedit, the 'Body of reply' window was still empty. It was only when I clicked on the window again, to restart 'ViewSourceWith' that the text I wrote appeared. I had to check, since Justin's disappearing message was the start of this whole sub-sub-(sub?)-thread, and a temp folder seems likely to be cleared when the application shuts down, or crashes. So, Justin: it will work, you don't need to ever lose any unsubmitted posts again!

apotheon
apotheon

"Save file as" would probably work just fine with gedit. Just make sure you've already saved to the default location first, since I think "Save file as" changes the default save location, which would make it difficult to get it to "save" the file to the text area input field at TR. As for the name . . . it's called "View Source With" because if you right-click on a webpage you can use "View Source With" to view the page source with the editor of your choice. By the way, you might want to give gvim a try if you want to learn something about how to use Vim. You can use it almost as a standard modeless editor, but as you go you can start learning Vim commands as well, until you're comfortable enough with it to eschew the graphical interface for the editor. It even has the Vim commands that match various menu options listed next to the menu options. I'd recommend opening gvim and hitting to get the overview of how to use Vim (it just brings up the standard Vim quick start guide).

Absolutely
Absolutely

I'm using gedit instead of vim because I'm still a Linux noob. Justin James: [i]Argh! to Absolutely & Apotheon Justin James - 01/04/08 I literally spent HOURS throughout the day, off and on, writing a response to the two of you. TR ate it.[/i] Mm, he does that a lot. TR badly needs to go on a strict diet. [i]Sorry. It was long. It was lengthy. It was well thought out.[/i] I'll just take your word for it, and assume it was also very complimentary. [i]I don't have it in me to retype it. :( J.Ja[/i] Well, I'm sure not gonna! But, I will follow up in just a moment to tell you how this ViewSourceWith Add-In [or is it Add-On? Whatever...] works -- by then, has worked, or not -- for me. P.S. Oh, hey apotheon, that's swell! I still don't understand the name 'ViewSourceWith' -- I didn't see any of the page source at any time, but this is better! Would it work if I use 'Save As,' to make a local copy of my own comments?

apotheon
apotheon

[b]shardeth:[/b] 1. The way you describe copyright is pretty much the way most people (especially copyright proponents) view it, but it's inaccurate. To "protect" the ability to draw revenue from software development implies that without strong copyright enforcement one wouldn't be able to make any money -- which is poppycock. You also describe it as "protecting" that ability to make money for [b]the developer[/b], which is not who gets "protection" under copyright -- the owner of the copyright gets that "protection", and that's usually the developer's employer. I guess you could say that copyright protects revenue streams, if you assume: A. that the [b]current[/b] revenue stream is what's being discussed, regardless of whether it's the [b]best[/b] revenue stream to pursue; B. the word "protect" is being used in the sense of a "protection racket". 2. There isn't much philosophy behind the GPL and the FSF. Ideology, maybe. Definition 2 from the American Heritage Dictionary of the English Language: "[i]A set of doctrines or beliefs that form the basis of a political, economic, or other system.[/i]" Notice how it doesn't imply that there's any philosophical analysis behind the "doctrines or beliefs". In the FSF's case, with the GPL, the emphasis there should be on "doctrines". 3. What is "freesource"? [b]Justin:[/b] It sucks when that happens. I feel your pain. I use a Firefox extension called [url=https://addons.mozilla.org/en-US/firefox/addon/394][b]View Source With[/b][/url]. I have it set to open Vim in a new terminal emulator (rxvt-unicode in my case) window. I right-click in the comment input field here, open the "View Source With" submenu, and choose the appropriate option to open Vim. When I save and exit, it populates the comment input field with what I wrote. I should start saving a copy of what I'm typing to my hard drive before exiting here. Probably use a series of commands like the following. [b]:w :w ~/tmp/tr.txt :x[/b] Since I execute Vim inside of a terminal emulator, this means what I'm actually telling "View Source With" to open is rxvt-unicode, and not Vim. Thus, the editor path I've used to configure it is: [b]/usr/local/bin/urxvtc[/b] . . . and the parameters I give to urxvtc are: [b]-rv -e vim $f -geometry 80x24+528+0[/b] Kind of unobvious, but I get the impression View Source With wasn't designed with opening an editor inside a terminal emulator in mind. Whatever. It works. So . . . the reason I brought this up is two-fold: 1. I should probably start saving a copy to the hard drive before closing my editor. 2. Maybe you should look into something similar.

Justin James
Justin James

I literally spent HOURS throughout the day, off and on, writing a response to the two of you. TR ate it. Sorry. It was long. It was lengthy. It was well thought out. I don't have it in me to retype it. :( J.Ja

shardeth-15902278
shardeth-15902278

The typical (I'll call it proprietary) copyright license (though that probably isn't correct terminology), allows the creator to protect his creation. He can protect the integrity of his product, the usage of his product, and his revenue stream. Though abused (not as much as patents perhaps) The idea is that it ensures that the people who developed... say winzip... and put all the time and effort and money into creating it have some recourse to keep some lazy schmuck from coming along, taking their code, recompiling it after doing a s/winzip/winzap, and selling it for half the cost, thus underselling them, and preventing them from recovering their development costs. The GPL License doesn't provide any revenue stream protection. Instead it provides 'philosophy' protection. A benevolent individual or group uses the GPL to ensure that anyone who uses their work must adhere to the same philosophy of benevolence. Freesource doesn't provide either of these protections, doesn't seem to provide anything for the contributor - well their name remains attached to the code, but it can be used abused sold, hidden... by whomever wishes to do whatever. They can't take credit for your code, and they can't sue someone else over IP rights from their program if it is in fact your code that is the offending piece of code... I am not saying that is a bad thing. It certainly seems the kinder, gentler, and more truly 'free' and forward-thinking approach... Or am I completely missing the mark on this?

apotheon
apotheon

The BSD license, by the way, does qualify as a copyfree license, just as it also qualifies as a free software license according to the FSF and an open source license according to the OSI.

shardeth-15902278
shardeth-15902278

Okay, here's what I am getting: The Atheros Driver started out under BSD License (Which basically says "You can do what you want with the code, just leave this license text attached to the code or included with the binary, and don't use my name to endorse your derivation"). It then got shared with the Linux gang, and parts were dual licensed under BSD, and GPLv2, Which add the restriction "If you use my open source-code in your program, your program must also be open-source" - thereby ensuring that everyone maintains the spirit of giving (at gunpoint if necessary). Then the ugliness started when the GPL crowd wanted to strip out the BSD license thereby enforcing their definition of openness (and I assume making their legal documentation easier). But then their contributions to the code could not be used by the BSD folk, as the BSD license permission to use in closed projects would violate the GPL's forced openness clause. (Then of course there was a lot of the typical chest-thumping, name-calling, law interpreting, opinuenndo-ing, blah blah blah that goes on...) Is that somewhere in the ballpark? Or am I going to need an extra credit assignment? ;)

apotheon
apotheon

There are a number of answers I could give to how much protection it provides, based on perspective. 1. It provides [b]no[/b] protection. That's the point -- unlike copyright, it's not a protection racket. 2. It provides a bunch of protection -- far more than copyright does. After all, the only thing protected by copyright is corporate power. Copyright is a tool for screwing the artist. 3. It potentially provides protection from having derivative works shanghaied by the GPL -- depending on the specific flavor of copyfree licensing you're using. 4. It provides protection from premature obsolescence. Open source software lasts as long as anyone cares about it. 5. It provides protection for your reputation. Those works of the intellect that are most easily distributable are the things most likely to survive long after your death, as they are conveyed into the safekeeping of the human race as a whole. . . . et cetera.

Absolutely
Absolutely

You're welcome for the hint, and I'll be interested to see what you say about copyfree after you've read more about it, especially whether it provides [u]less[/u] "protection for original creator" than copyright, and how.

shardeth-15902278
shardeth-15902278

I read a few of the links, but am not getting the 'dirty' details yet, so guessing a little deeper digging will be required on my part. It will be a nice break form reviewing vectors, and double, triple and surface integrals...

shardeth-15902278
shardeth-15902278

copyfree - intriguing. I don't see how it provides any protection for original creator, which seems of some concern (but I have only just started reading).

apotheon
apotheon

[url=http://bsd.slashdot.org/article.pl?sid=07/10/02/203212][b]Here's how the whole mess was ultimately resolved[/b][/url] -- after some time spent on the FSF hangers-on trying to hijack the driver, and ultimately giving in because even the FSF's legal team could see that pissing off the OpenBSD guys at that point would be a bad idea.

Absolutely
Absolutely

Well said. I don't need to research the specifics of the OpenBSD driver that was improved, then subjected to GPL terms, to understand how that would harm OpenBSD, although I might Google it later for personal knowledge. If I was an anthropologist from the distant future and read a Microsoft EULA, I'd say "That's stupid!!" But, as a user who has effectively been required to use such licenses by academic enrollment and my own ignorance of better options, I have to say the appropriate term is "evil," not "stupid," and to agree that licenses that work substantially differently than copyfree can only be accurately described as no better than [b]less[/b] abusive than some other, more abusive terms -- when I think more precisely than I'm accustomed to doing, about the exact nature of economic exchange, and what any individual programmer sells, and to whom. As I see the problem, it's an all-or-nothing deal between employer and employee, but copyright contradicts that fact of nature, in the subsequent exchanges between the programmer's corporate employer and the public. And, to make a long story short, everybody but Microsoft and his employees suffer a net loss, but mostly don't notice what certain euphemisms are covering. [i]The same is true of proprietary software such as Microsoft's -- if you don't like the EULA, you're free to use or write something else. That doesn't mean either the EULA or the GPL is a good thing. That's nothing more than a "love it or leave it" mentality.[/i] I agree; the GPL looks good next to software patents. Next to copyfree, it looks ... less than good.

shardeth-15902278
shardeth-15902278

I didn't know about that. Do you have a link to more detail on that incident? that you would recommend I'd like to learn more about it. Thanks.

apotheon
apotheon

The GPL sure didn't "prevent abuse" when it was used to license alterations to the atheros wireless driver -- effectively "stealing" it from its original BSD licensing, locking the OpenBSD community (which originated the atheros driver) out of benefiting from the improvements.

shardeth-15902278
shardeth-15902278

Okay, so I am not an expert on the GPL, but I don't see how infectious or abusive apply. Perhaps infectious in the sense that it attempts to enforce a "pay-it-forward" philosophy. As for abuse, it seems to me more likely to prevent abuse (ie someone profiting off someone else's hard work and giving neither coin nor credit back).

apotheon
apotheon

"[i]My experience is that the GPL is more prominently displayed with products covered by it than the Microsoft EULA. But that's really just a side issue and inessential to my argument, anyway.[/i]" The fact of the matter is that, while the GPL is more prominently displayed in many cases, it is still effectively an ex post facto application of what is laughably regarded as a contractual agreement (in some respects, at least). It is [b]assumed[/b] that the user has read and agreed to the license before using the software -- and [b]acquiring[/b] the software in no way, shape, or form even assumes that much, in most cases. Even if the problem is slightly mitigated by greater prominence of public posting of the GPL, the problem itself is not missing. The fact that the GPL's terms are slightly less odious than those of Microsoft EULAs is the only reason I regard the GPL as (in practice) being less of a problem than strong copyright enforcement such as MS EULAs. "[i]To call the GPL abusive is to abuse the English language.[/i]" I disagree. To pretend it is [b]more[/b] abusive than a Microsoft EULA might be an abuse of the English language, but the fact it's less abusive does not mean it [b]isn't[/b] abusive. "[i]Anybody who does not want to use software on the terms in the GPL is still free to write their own software, within the constraints of the various proprietary licensing schemes available, all of which are unaffected by the separate existence of open source licenses.[/i]" The same is true of proprietary software such as Microsoft's -- if you don't like the EULA, you're free to use or write something else. That doesn't mean either the EULA or the GPL is a good thing. That's nothing more than a "love it or leave it" mentality. "[i]The fact is that to be bound by the GPL is merely to not be bound, except to not bind anybody else.[/i]" Incorrect. Several of the terms of the GPL would vanish utterly if the copyright law that binds us to it were to evaporate. I prefer [url=http://copyfree.org][b]copyfree[/b][/url] licensing whose terms would substantially live on even in the absence of copyright law, and that do not require litigation to enforce because their value is in providing a defense against attempts to restrict how one disposes of one's possessions. The BSD license, the CCD CopyWrite license, the Creative Commons BY-SA license, and so on, all fit that description. Anything that does not fit that description of license terms [b]does[/b] bind us, including "copyleft" licensing like the GPL. The GPL is just an FSF EULA much like the MS EULA. It just has different terms to reflect a differing licensor. It is, in general, no less an attempt to control the actions of those who use the license.

apotheon
apotheon

"[i]The *Nix world embraces this, the slow and steady evolution/accreation/accumulation/aggregation of functionality.[/i]" Good. If it didn't, we'd have huge, everything-planned-in-advance messes like MS Windows. "[i]But just look at the utter inconsistency in something as simple as how command line arguements are used ('-fFilename' vs. '-f Filename' for beginners)[/i]" I think you've been working with GNU tools too much. re: STDIN/STDOUT "[i]Sure, if you assume that the only data type worth dealing with is plain ASCII text, and any context for the text will require awk/sed/perl munging and mangling.[/i]" Err, no. I don't have to assume that's the only type of data worth dealing with. Are you aware that non-ASCII data can be sent through pipes as easily as ASCII data? Besides, while plaintext data is not the [b]only[/b] form of data worth working with, it is usually the [b]best[/b] form. The fact that some applications (most notably for the stupidity of it being tools that nominally work with text like MS Word) use non-text data when there's no good technical reason to do so doesn't change that fact. It's easier to write code to deal with text data. It's easier to deal with data without a specific tool on-hand when the tool breaks. It's easier to compress text data effectively than just about anything else. It's more difficult to lose text data to the market dominance tactics of some vendor somewhere more concerned with whether you'll switch vendors than whether you actually want to be able to use your data later. Text is almost always better for data. The major exception to plaintext is encrypted text. "[i]Not that Windows is much better; but at least it understands more than plain text.[/i]" So do Unix tools. The fact that text is the default doesn't mean that nothing can work with any formats other than text. The fact that I spend all my time speaking English these days doesn't mean I don't understand some Italian. "[i]Like *Nix, Windows can now boast of multiple decades of slow and steady growth of internal APIs, with the goal of backwards compatability to the dinosaur years in mind. The only difference at this point is that Windows programmers, if they choose to use .Net, at least have that to help them out. I am not sure what the *Nix folks get, but I am sure they have an equivalent monolith.[/i]" Actually, with the exception of GUI work, Unix basically doesn't need anything lke that. The APIs are clear and simple enough that you don't need several layers of abstraction to be a productive programmer. The X Window System is basically the only exception to that -- and the abstraction layers built over X (like GTK) are a darn sight better than anything Microsoft provides, to judge by those who have worked with both. A friend of mine once said to me "The only thing more painful than dealing with X is programming for Windows." "[i]Windows barely uses the CLI, and *Nix depends on it.[/i]" You're getting the situation all hosed up. It's more like this: Unix provides a powerful CLI with which you can do everything on the system if you like -- though you don't have to use it if you don't want to. MS Windows, on the other hand, has only in the last couple of years provided a CLI worth using at all -- and it's still locked out of about 98% of the system. In other words, it's not that Unix depends on the CLI -- it's that with MS Windows, you almost can't use the CLI. People [b]think[/b] you "have" to use a command line interface with Unix because one is a lot more productive with the CLI, and it's a lot easier to use it, for a great many tasks. As such, the custom is to use it. Meanwhile, since the CLI is neutered in the MS Windows world, you're forced to use the GUI for pretty much everything, with the result being that everyone has bent over backwards for the last fifteen years finding inefficient work-arounds for things that could be much more easily accomplished with a well-placed shell command. I never would have expected you to sound like one of those early-'90s Mac-heads, talking down one of the most powerful tools in the IT professional's toolbox to justify your OS choices. "[i]Even BSD's command line and CLI userland is hideous.[/i]" I'm going to go with the assumption that's just a problem of personal aesthetics, since I don't see anything wrong with it in general. "[i]I've used GNOME, Motif, CDE, and KDE. Universally they stunk.[/i]" All four of them [b]do[/b] suck -- most especially when GNOME and KDE are tailored to look and act exactly like Aero Glass and Aqua. "[i]I'd be glad to check out some possibly better alternatives if you provide suggestions![/i]" Well . . . if you want something that works like the best interface ever developed for a single-GUI OS, you could try WindowMaker. It's the face of GNUStep, an implementation of the OPENSTEP framework -- which is, by the way, the open-sourced specification of the interface for NeXTSTEP. WindowMaker isn't the prettiest thing in the world, thanks to its adherence to a fifteen year old design aesthetic, but the way it works is far, far better than the underlying GUI functionality of any proprietary OS I've seen this century with the single example of MacOS X -- and that's only because MacOS X also uses a modified implementation of the OPENSTEP framework. Actually, it's better than MacOS X's interface in many ways, because of stupid little concessions to Apple "aesthetics" like changing the behavior of the interface to conform to the one-button mouse rule. If you want something that has about the same level of capability as GNUStep, but a prettier veneer, try Enlightenment. If you want something a little closer to what people tend to expect from a window manager after using Mac and MS Windows machines all their lives, you might give Sawfish a try. If you want something that runs extremely lean and enhances productivity for people who know what they're doing as much as possible by [b]staying out of the way[/b], try AHWM (what I use). Two others that look very promising for providing the same benefits as AHWM, but more so, you could look into wmii and dwm -- though I haven't gotten around to giving them a very close look yet. In particular, wmii seems pretty good, but I haven't spent more than a few minutes with it, so I'm not 100% comfortable with the control interface yet, and cannot give a really certain review of it. If you want to give the girlfriend a user-friendly BSD Unix system, and she's an MS Windows user thus far, I'd recommend PC-BSD (yes, with KDE). It makes Ubuntu look positively difficult. "[i]I agree 100%. Unfortunately, PostgreSQL has a very slender slice of market share.[/i]" Okay. Yes, it's unfortunate that, despite PostgreSQL's technical benefits, it is ignored by a bunch of, well, ignoramuses. I don't see how that's a problem for purposes of choosing what you want to use, though. It makes my point pretty clearly -- open source development can be very successful at producing technically superior software even in markets that are dominated by huge vendor corporations. "[i]Just as Red Hat or Novell are able to 'sell' their Linux distros (in a fashion), I would beleive that the vast majority of people using MySQL did not pay a cent for it.[/i]" So what? The important thing about "selling" software (or software services) isn't whether everyone in the world is beating a path to your door and waving money at you -- it's whether you're profitable enough to continue doing the work without reservations. All those people using MySQL for free are [b]great advertising[/b]. Hell, even Microsoft understands this, to some extent -- Microsoft isn't going after copyright violators in the parts of the world where such copyright violation is most prevalent. It's just going after it where it knows that people won't defect en masse due to the annoyance of dealing with its heavy-handed business practices. "[i]That's the irony of the 'pay for support' open source business model... a top flight product by it's very nature turns most would-be paying customers into people who see no need to pay for support.[/i]" . . . and yet, MySQL (the company) is still doing a brisk business "selling" MySQL (the software). My point stands. Nobody at that company is going hungry. "[i]A very thought provoking response! I do not think that software always is about policy though, although software in the data processing tradition most definitely is.[/i]" I think you misunderstood. Software isn't [b]about[/b] policy. Software [b]is[/b] policy. It may seem like a subtle difference, but it makes all the difference in the world. Software is [b]always[/b] policy. Source code is a policy document. An interpreter or compiler translates that policy into operating instructions. The OS executes that policy. The fact it's not, strictly speaking, [b]human[/b] policy doesn't change the fact that it's policy. "[i]I beleive that I am just as cynical as you are... but I see the flip side of it as well. For every N*Sync album my sister buys, there is a much less "commercial" album put out by a major record label that I buy.[/i]" Clearly not as cynical -- probably because I've seen how good musicians get chewed up and spat out, if they're ever even noticed at all, and how the record industry does its best to turn those good musicians into the Backstreet Boys behind the scenes. "[i]The movie studios that give us some derivative third sequel to a remake of a bad 60's film also do straight-to-DVD releases of some truly cutting edge stuff.[/i]" In the US, direct-to-video is generally a synonym for "crap". The exceptions are few and far between, and almost universally involve independent (non-MPAA) publishers of video content. In countries like Japan, meanwhile, direct-to-video has no such promise of low-quality content -- and the amount of Japanese direct-to-video that makes it to the US all by itself (without even counting what doesn't make it here, or what comes from other countries) provides greater numbers of high-quality direct-to-video releases than arise domestically. That's really pretty sad. It's also to be expected when an organization like the MPAA runs the mainstream industry, and that in turn is to be expected when the state of corporate law so explicitly favors consolidation of market dominance in large organizations like the major studios. "[i]In a nutshell, I realized that 99.99% of the art I consume was brought to me by a major conglomerate[/i]" That's to be expected when those conglomerates do their level best to destroy any smaller competitors in the market -- especially any competitors that might provide higher quality material. "[i]I do beleive that this is sadly changing to the 'blockbuster' mentality of not taking a risk on anything not 'guaranteed' to be a smash hit. Note that pharmeceutical research and general scientific research is headed in this direction, which is a frightening thought.[/i]" These are essentially unavoidable long-term consequences of industries built around strong copyright and corporate law. "[i]Software is also quickly headed in that direction as well. 'Web 2.0' seems to be more about jumping on everyone else's bandwagon than anything else.[/i]" Don't blame the term "Web 2.0". Blame faddishness. The new concepts of "Web 2.0" are good, and can be employed well to good effect. The pastel colors and rounded corners that have become all the rage, however, are just window-dressing -- and the fact that many of these Johnny Come Lately types are playing off the window-dressing rather than actually doing something worthwhile has nothing to do with those concepts. "[i]I agree; I even wrote a whole post about this a few weeks ago. I think that it is probably F/LOSS's best selling point. It is fairly situational though. Sometimes it can be done, sometimes it can't.[/i]" . . . as opposed to proprietary software, where it can [b]almost never[/b] be done, because the vendor wants to market a single product to everyone without taking personal requests. Doing otherwise would cut into the corporate bottom line. As such, major corporate vendors find it cheaper and easier to convince people they want what the vendor has (or at least cannot live without it) than to actually provide what people really want and need. "[i]I can't make heads or tails of man pages most of the time.[/i]" It's an acquired skill, of course, but not one that's difficult to acquire. Some are written better than others, too. That's to be expected from [b]any[/b] documentation. Unlike most documentation systems, though, they all conform to the exact same layout. Consistency matters. "[i]Go ahead, pretend you've never set up a *Nix system before, and try to figure out where network settings are.[/i]" Well, if we assume I know the manpage system exists (just as you'd have to assume you know where MS Windows Help is located to get anywhere on MS Windows), it took me two steps to find what I was looking for. 1. [b]man network[/b]: read the "see also", notice two possibilities in the form of "hosts" and "networks" 2. [b]man hosts[/b]: read the "see also", find ifconfig The [b]ifconfig[/b] utility is all I need to get started on configuring networks. Conveniently, ifconfig's manpage "see also" lists netstat, netintro, rc, routed, and sysctl. Neat how that works -- and basically gives you everything you need. I didn't even have to know about the existence of the [b]apropos[/b] or [b]man -k[/b] commands to get that far. Of course, [b]man man[/b] would have told me about both of them. "[i]Remember, I don't touch X, so my experience with 'man' is CLI only.[/i]" With that in mind, I have to wonder why you seem so down on the CLI in a Unix environment, and act as though the CLI is an everyday necessity for everyday users. Many people get by just fine without the CLI -- even supposed system administrators. Of course, any sysadmin that ignores the CLI (whether in a Unix environment or an MS Windows environment) isn't doing his job very well, but that's another subject entirely. "[i]Lack of consistency[/i]" While it's not perfectly consistent, it's more so than any other help system I've ever seen, so I don't know how you think this somehow makes Unix systems less attractive than the alternatives. Perhaps you have more familiarity with Plan 9's help/documentation system than I am. Anyway, I was asking about comparing the Unix Manual with CHM, not with something that actually has a somewhat consistent format. "[i]The documents not being linked in the command prompt man system[/i]" Are you talking about the Unix Manual or the MS Windows CHM system? Are you saying documents should, or shouldn't, be "linked in the command prompt man system"? What do you mean by "linked in" anyway? I'm not sure what you're saying. Are you talking about hyperlinks? If so, there's always the HTML interface to the Unix Manual -- which you can access in Lynx if you don't want to install a GUI on a given system. Considering all the capabilities of tools like [b]whatis[/b] and [b]apropos[/b], and the "see also" section in manpages, I don't see how that could be your problem, though. "[i]The commands *forcing* me to look stuff up in man, instead of providing a proper response to a -? or -help (or whatever) switch[/i]" Most commands have a help switch -- and many provide help text when you give it incorrect parameters, too. Looking back at networking again, [b]ifconfig -h[/b] provides usage syntax. "[i]Having to know what command I want in the first place[/i]" Have you tried apropos or whatis? "[i]Search? Last I checked, man seems to just dump some barely formatted (for bold-ness) text to 'more'...[/i]" Funny -- for me it dumps it to "less", which allows text string searching. It also allows me to search the entire Unix manual using commands like "whatis" and "apropos". Meanwhile, my experience of MS Windows CHM searches is that they always offer stuff that is of little or no use at all. "[i]Incomplete and inaccurate 'see alsos'[/i]" Maybe you have a couple of specific examples in mind. I don't know. I have found that I can track down basically everything on the system via the "see also" sections of manpages, if need be -- and that the "see also" sections are far more complete and accurate than anything I've encountered using Microsoft's CHM GUI help tools. "[i]The complete and utter failure of the writers of man pagers to state *why* I would do any given thing, or *how* to accomplish any kind of common task; I don't need a syntax reminder, I need *documentation* that provides *instruction*[/i]" You want howtos, then, rather than documentation. That's what resources like the FreeBSD Handbook are for. . . . though I've run across a couple of manpages that provide howto-like instruction, too. "[i]Leaving aside some things like the interdocument hyperlinking (I'd assume that the X version covers that), the Windows documentation is much more cohesive and feels like there was a concerted, concentrated effort to make it consistent.[/i]" You're just talking about the fact that the MS Windows help system has a captive interface -- which is an unavoidable side-effect of a GUI-only help system. You can achieve the same effect by accessing the Unix Manual through one of its GUI veneers (including its web interface, for which you don't even need to install the X Window System). At least one such Unix Manual GUI is installed by default, at least on every system I've used lately, when X itself is installed. "[i]Like much of *Nix, man is a 'common ground' for 1,001 programmers of varying quality to hawk their wares, not a unified and consistent data store.[/i]" That's a funny thing to say when you're trying to say the MS Windows help interface is better -- considering most of it seems tailor-made to hide actual information, and convince the user that he or she has the best software on the planet as its first (and possibly only) goal -- and that if he or she cannot help him- or herself with that help system, it's only his or her own fault. re: the Registry "[i]Because it is in the documentation, at least for Microsoft stuff it is![/i]" Uh, no it isn't -- at least, not in the free documentation. "[i]Indeed, these systems require much less 'hackish' 'tweaks' like mucking around in regedit than *Nix does.[/i]" I know that's a popular position to hold, but it's not true. In order to get a system that works anywhere near the way I want it to with MS Windows, I have to individually download more than a dozen different pieces of software, and make more than two dozen registry edits, in addition to the GUI-assisted configuration changes I have to make with tools like msconfig and right-clicking on the taskbar and desktopo to access various configuration dialogs. Meanwhile, with FreeBSD, simply installing three or four pieces of software via a unified software management system (letting it automatically handle dependencies for me, of course) gives me a system much more to my liking. I do apply more "tweaks" with FreeBSD than with MS Windows, of course, but that's because in MS Windows I've run up against a wall of how much I can alter the system long before I got to the point where I can make the final "tweaks" I want with a FreeBSD system. In fact, instead of providing greater ability to modify my system to suit my needs, Microsoft seems hell-bent on making things worse with every new OS release. The ability to turn off the desktop process with a simple registry tweak, for instance, seems to have vanished since Win2k. "[i]In fact, it has been years since I needed to start regedit to make a change (I've used it to verify a value or two).[/i]" In other words, you treat the Registry as off-limits, and pretend that what you can do without the Registry is all anyone would ever want to do. If that's the case, but you still allow for the possibility that people might want to do a lot more with a Unix system, then yeah -- you'll spend more time doing behind the scenes configuration on a Unix system than on an MS Windows system. On the other hand, that's kinda like saying you don't have to do as much maintenance with a Hot Wheels toy car as you do with a Shelby Saleen S7. Sure, you don't [b]need[/b] to make any further changes beyond what you can get with point-and-click with default MS Windows software -- if you like unsecured, unstable systems with very limited capabilities. "[i]In fact, most of the 'edit the registry' style 'tips' that I've read are of the dubious variety where some junior grade person thinks that eeking out the last KB of free RAM from an OS by performing goofy hacks while crummy apps or bad drivers are on the box constitutes the epitome of cool factor.[/i]" Unix is not to blame for the low quality of community documentation in the MS Windows world. "[i]I also keep in mind that much of your understanding of Windows, Windows Servers, and so on is hearsay, since you avoid it like the plague.[/i]" Actually, much of my understanding of MS Windows (et cetera) is from direct experience, studying the system architecture, hacking the registry by hand and recovering systems that blew up thanks to security issues, and my Microsoft certifications. It's true that I haven't used MS Windows as much (professionally or personally) in the last couple years as I used to, but that doesn't mean I'm completely unexperienced in that area. "[i]A lot of your impressions of Windows were true at one point; in NT 4 I was *constantly* digging through the registry, same for Windows 95 and 98. Windows 2000 was when they really turned the corner on a lot of this stuff, and XP/2003 generation is pretty darned good.[/i]" My extensive experience with MS Windows started tapering off a few months after Windows XP Service Pack 2 became stable enough to install on some systems. I'm quite familiar with Win2k and WinXP -- enough so that I can say without hesitation that Win2k was technically far superior to WinXP. It just lacked for more recent software support, so that it wasn't quite as up-to-date in some of its capabilities. "[i]The only time I reboot my Vista machine[/i]" I don't recall bringing up rebooting as a problem with MS Windows -- though, if I did, I would have said "It's amazing that one still needs to reboot an entire machine just to update a single piece of userland software sometimes." Along similar lines -- when is Microsoft finally going to deliver on that journalling filesystem that doesn't require defragging that it has been promising us since 1994? Might as well ask, since we're getting into the realm of matters that should have been fixed a long time ago. "[i]In fact, in terms of outright 'need to reboot due to issues', my FreeBSD server and my Linux/IPCop router *both* need periodic reboots[/i]" I find that difficult to believe -- considering you aren't talking about 3D accelerated X applications (you indicated you avoid X much like you think I avoid MS Windows). Are you sure it needs rebooting? Maybe you just need to kill a hung process. "[i]Yup. I had to go through this, in the 5.X days. Why? Because I hoped that a 'modern' OS would include file system quotas.[/i]" It [b]does[/b] provide filesystem quotas. I'm not sure what the problem is, here. "[i]Or proper SMP support out of the box.[/i]" You mean like MS Windows Vista Home Basic, or MS Windows XP Anything? Neither supports SMP properly. Maybe we should tackle the matter of 64b processors. That would [b]really[/b] make MS Windows prior to Vista look bad. . . . and you're talking about 5.x which, I must admit, has been regarded by some as a dark period in FreeBSD history. "[i]But having to compile the kernel to get file system quotas in 2005 or so was just rediculous. I know why it was done like that... so the kernel can fit onto a floppy. *Nix is held back by its own legacy.[/i]" Actually, it's "held back" by the fact that many, many people still want kernels that fit on floppies, systems that don't have unnecessary cruft built in, and OSes that are optimized for the common case. With MS Windows, if you want 64b SMP with filesystem quotas, you have to buy a whole different set of licenses for your software -- with FreeBSD, you can compile a kernel in less time than it would take to go to the store and buy MS Windows Vista Ultimate. "[i]You never find out until you've been there just long enough for it to look bad if you were to leave. At least I don't. I am hoping that my new situation is not like this.[/i]" Good luck. Really. I wish you the best. "[i]Small businesses are even *worse*, because the owner (rightfully) treats every dollar spent as one of their own.[/i]" That's the opposite of my experience, but . . . "[i]In fact, in a big company, there is a chance that the corporate financial oversight is just lax enough to let some dice rolling (or at least a few catered meetings) to occur.[/i]" . . . maybe that's the problem. I don't advocate dice-rolling. I advocate well-planned implementations where all the important factors involved have been thoroughly evaluated. Sometimes, that even means sticking with the same option you'd get with an unreasonably risk-averse corporation. Often, it doesn't. re: finger-pointing "[i]The reality is, if one finds themselves in such an environment, that kind of behavior is a survival technique.[/i]" I've found that the best survival technique is to find a way out of those environments. One of the best things that has ever happened to me, professionally, was getting fired for having the gall to disagree that moving from Qmail to MS Exchange was a good idea for a company with 27 employees. Not that I wouldn't have implemented if just told to do so -- but I wasn't going to pretend I loved the idea, either. "[i]If owning up to mistakes got people promoted, I am sure that you would see that kind of behavior instead.[/i]" It's not about owning up to mistakes. It's about choosing solutions based on their merits rather than on how easily one can shift blame if (when) things go awry. "[i]But to say that you having FreeBSD on your laptop shows that OS development can be profitable[/i]" That's not what I said. I think you're assuming a nonexistent connection between my statement that I use FreeBSD (which I stated was because of the fact that I find FreeBSD much more impressive in several ways than MS Windows XP) and my statement that if you think OS development isn't profitable, you haven't been paying attention. Looking back, I see now that I didn't make the separation between the two statements as explicit as I might have in a failure to provide quite as exhaustive an explanation as I perhaps should have. My point about profitability was that MS Windows is the core of the Microsoft business, and OS development has proven [b]exceedingly[/b] profitable for Microsoft -- to say nothing of the other corporations that have found OS development profitable (including even corporations that only do development on open source OSes). re: the RIAA, again "[i]Does it stink? Yup.[/i]" So . . . what, exactly? Is this a concession that the music industry's copyright-based risk sharing model, that you've been defending, doesn't work for the artists after all?

Absolutely
Absolutely

[i]Not at all. Microsoft EULAs are publicly posted, same as the GPL. And they are available upon request as well.[/i] My experience is that the GPL is more [i]prominently[/i] displayed with products covered by it than the Microsoft EULA. But that's really just a side issue and inessential to my argument, anyway. To call the GPL abusive is to abuse the English language. Anybody who does not want to use software on the terms in the GPL is still free to write their own software, within the constraints of the various proprietary licensing schemes available, all of which are unaffected by the separate existence of open source licenses. The fact is that to be bound by the GPL is merely to not be bound, except to not bind anybody else. Speaking of BIND, I think that mapping URLs [i]properly[/i] to the servers that [i]really[/i] own each domain is important enough to justify the exaggerated difficulty of configuring BIND vs. the set it, forget it, and be infiltrated model of Windows.

Justin James
Justin James

"Compared to any one studio's budget, the risk taken on any 1 artist is negligible, or less." But as an aggregate, it gets up there in numbers. "This is your argument in favor of the business as usual models?" More like stating the model itself, in a form that is a bit different than it is normally stated. Is it a model I defend to the death? Absolutely not. I would prefer it if the artist saw a much larger percentage of revenue. But it has a good number of "not so bad" things about it too, when viewed as a form of risk mitigation. In other words, I am willing to put up with hearing Hanson on the radio, if the tradeoff is that the artists I like have access to high quality equipment and good editors, producers, etc. The current model provides that. "Apache" Apache does not "detroy" my entire arguement in the slightest. In fact, it perfectly reinforces my arguement. Look, no one is making money off of Web servers, at least not pure HTTP handlers which statically (or nearly statically) map to the file system (which is what Apache essentially is). Indeed, no one probably ever would have, or ever will. That being said, the overall utility of the world goes up dramatically by having such a product freely available. Which matches my statement "I think where F/LOSS shines is in situations where it would not be particularly profitable to do something, but everyone benefits if it is done" quite nicely. You have to really closely and precisely parse that statement to understand it. To rewrite that arguement with the proper variable substitution: "I think where F/LOSS shines, such as with Apache, is in situations where it would not be particularly profitable to write something like Apache, but everyone benefits if something like Apache is written" I hope that makes a bit more sense. It hinges around the phrase "profitable to do something", meaning "producing software". "The terms of such agreement are known in advance of commitment to them, in contrast to Microsoft's EULAs. You seem to be confused." Not at all. Microsoft EULAs are publically posted, same as the GPL. And they are available upon request as well. J.Ja

Justin James
Justin James

"Modularized functionality is one of Unix's strengths -- not one of its weaknesses." I will conditionally agree... if this is rephrased a bit: "In theory, modularized functionality *should be* one of Unix's strengths -- not one of its weaknesses." That makes it accurate. The sad truth is, too much of *Nix was developed by programmers in utter isolation from everyone else, by too many people with too many conflicting beleifs about what the "correct" methodology should have been, often with far too little planning. The *Nix world embraces this, the slow and steady evolution/accreation/accumulation/aggregation of functionality. There are some good things to be said in its favor. But just look at the utter inconsistency in something as simple as how command line arguements are used ("-fFilename" vs. "-f Filename" for beginners)... it renders the system nearly unusable for anyone who does not have a second shell open just for running the "man" command, or who has not been doing it forever. "Anyway . . . STDIN and STDOUT are a much better way to glue together tools than the MS Windows way." Sure, if you assume that the only data type worth dealing with is plain ASCII text, and any context for the text will require awk/sed/perl munging and mangling. And the fact that because some utility written 30 years ago produced its output a certain way, that is now the default, undocumented, unstandardized input format for a half dozen critical chunks of code. Thanks, but no thanks. Not that Windows is much better; but at least it understands more than plain text. "Have you looked under the hood of MS Windows APIs lately? No wonder all the apps are massive, monolithic, bloated monuments to poor design!" Nope, I am quite grateful that the .Net Framework abstracts the Windows API out, and bashes it into a consistent, usable whole. I have trolled through the Windows API on occassion, and always felt queasy afterwards. I know what you mean! It is sad that it took a monolithic project like .Net is, to create a monstrous set of libraries like the .Net Framework is, in order to cover up the inconsistencies and incompatabilities within the core system APIs. Like *Nix, Windows can now boast of multiple decades of slow and steady growth of internal APIs, with the goal of backwards compatability to the dinosaur years in mind. The only difference at this point is that Windows programmers, if they choose to use .Net, at least have that to help them out. I am not sure what the *Nix folks get, but I am sure they have an equivalent monolith. Maybe it's GTk? That seems to get used for EVERYTHING. "The various BSD Unix systems do a better job of that than MS Windows." Yes. But Windows barely uses the CLI, and *Nix depends on it. That's like saying, "GM puts much nicer looking wheels on their cars than Boeing puts on their planes" when the reality is that GM's wheels are much uglier than Ford's, Toyota's, Honda's, and Dodge's. Even BSD's command line and CLI userland is hideous. It has 30+ years of *Nix history to adhere to, or else the whole thing breaks. "What . . . like the many X window managers that fit that description?" I've used GNOME, Motif, CDE, and KDE. Universally they stunk. I'd be glad to check out some possibly better alternatives if you provide suggestions! I need to put a PC together sometime soon for the girlfriend anyways, I would not mind saving a few bucks and using FreeBSD if the system reduces my headache level. "PostgreSQL is in that class." I agree 100%. Unfortunately, PostgreSQL has a very slender slice of market share. "Actually, MySQL does quite the opposite. The company MySQL does a brisk business "selling" the DBMS MySQL." I beleive that MySQL has worked themselves into a corner. Just as Red Hat or Novell are able to "sell" their Linux distros (in a fashion), I would beleive that the vast majority of people using MySQL did not pay a cent for it. It is simply so easy, stable, and well documented, the majority of folks feel comfortable going without vendor provided support. Oddly enough, many of the "CYA" type of companies where vendor support is mandatory are going to be Oracle, SQL Server, DB2, etc. shops anyways; those kinds of palces love to tell themselves that they need everything iron plated. That's the irony of the "pay for support" open source business model... a top flight product by it's very nature turns most would-be paying customers into people who see no need to pay for support. "It's policy that enforces itself. One doesn't buy a chunk of policy from an efficiency consultant -- one buys the services of providing expertise in tailoring policy to one's needs. If someone wants to build a software-based business model around the business model of some other industry -- a business model that is based on market realities rather than wishful thinking and protection rackets -- that person should look for business models that involve putting policy in operation rather than putting chairs under desks and cars in garages." A very thought provoking response! I do not think that software always is about policy though, although software in the data processing tradition most definitely is. "You obviously have a much less cynical view of the record and motion picture industries than I have. Most of the pap you see on the shelves in music and video stores is constructed, test-market-driven gunk churned out more by the force of will of marketroids than any artistic vision." I beleive that I am just as cynical as you are... but I see the flip side of it as well. For every N*Sync album my sister buys, there is a much less "commercial" album put out by a major record label that I buy. The movie studios that give us some derivative third sequel to a remake of a bad 60's film also do straight-to-DVD releases of some truly cutting edge stuff. Once I started viewing record labels and movie studios as risk management vehicles, much like an insurance policy or a mutual fund, I became much more accepting of them. In a nutshell, I realized that 99.99% of the art I consume was brought to me by a major conglomerate (or a subdivision of one) because someone there took a chance that just enough people would buy the album or see the movie to balance it out, and hoping that maybe this one will be a big hit. I do beleive that this is sadly changing to the "blockbuster" mentality of not taking a risk on anything not "guaranteed" to be a smash hit. Note that pharmeceutical research and general scientific research is headed in this direction, which is a frightening thought. Software is also quickly headed in that direction as well. "Web 2.0" seems to be more about jumping on everyone else's bandwagon than anything else. "One of the beauties of free/libre/open source software is that you don't have to pay for the whole thing -- as long as there are others out there who want it, too. Costs are defrayed." I agree; I even wrote a whole post about this a few weeks ago. I think that it is probably F/LOSS's best selling point. It is fairly situational though. Sometimes it can be done, sometimes it can't. "Everything's covered, at least to a far greater degree than I've seen for any significant proprietary software (and by "significant" I mean things like "similar size", et cetera)." I can't make heads or tails of man pages most of the time. The information is not there, but it is unreadable much of the time even to someone like me who is a "fellow traveler". That's a really scary thought. It took me under 10 minutes to set up a Windows DNS server. I still, *years* of effort later, cannot get BIND working without a Web based layer on top of it. Why? BIND's documentation is horrid. Sure, I am cherry picking my examples here (BIND is notoriously hard to use), but I'll extend that to the point of simply figuring out how to configure a system to use a static IP address. Go ahead, pretend you've never set up a *Nix system before, and try to figure out where network settings are. "What, exactly, do you find problematic about manpages as compared with .chm help systems in MS Windows? The Unix Manual is better organized, far more comprehensive, and available via a number of different interfaces. It also helps that search functionality actually works worth a damn in the Unix Manual." Where to begin? Remember, I don't touch X, so my experience with "man" is CLI only. * Lack of consistency * The documents not being linked in the command prompt man system * The commands *forcing* me to look stuff up in man, instead of providing a proper response to a -? or -help (or whatever) switch * Having to know what command I want in the first place * Search? Last I checked, man seems to just dump some barely formatted (for bold-ness) text to "more"... * Incomplete and inaccurate "see alsos" * The complete and utter failure of the writers of man pagers to state *why* I would do any given thing, or *how* to accomplish any kind of common task; I don't need a syntax reminder, I need *documentation* that provides *instruction* Leaving aside some things like the interdocument hyperlinking (I'd assume that the X version covers that), the Windows documentation is much more cohesive and feels like there was a concerted, concentrated effort to make it consistent. Like much of *Nix, man is a "common ground" for 1,001 programmers of varying quality to hawk their wares, not a unified and consistent data store. "That boggles my mind. How the hell do you deal with stuff like performance tuning via regedit without checking online?" Because it is in the documentation, at least for Microsoft stuff it is! Indeed, these systems require much less "hackish" "tweaks" like mucking around in regedit than *Nix does. In fact, it has been years since I needed to start regedit to make a change (I've used it to verify a value or two). The pro-grade Windows sys admins I know don't seem to need to do that either. The documentation doesn't need me to go that "underground", and neither do other articles that I read. In fact, most of the "edit the registry" style "tips" that I've read are of the dubious variety where some junior grade person thinks that eeking out the last KB of free RAM from an OS by performing goofy hacks while crummy apps or bad drivers are on the box constitutes the epitome of cool factor. These are usually the folks who read about the "good old days" in the Jargon File or the ilk, and wish they had to factor in where on the drum to store the vital bits to minimize rotations... In fact, the only OS that I consistently find myself making manual changes where I had no idea what to do from the docs (but found the *right* answer online) is, unfortunately, my FreeBSD server. I also keep in mind that much of your understanding of Windows, Windows Servers, and so on is hearsay, since you avoid it like the plague. There's nothing wrong with that. A lot of your impressions of Windows were true at one point; in NT 4 I was *constantly* digging through the registry, same for Windows 95 and 98. Windows 2000 was when they really turned the corner on a lot of this stuff, and XP/2003 generation is pretty darned good. The only time I reboot my Vista machine is when a system update requests it... and I do development (including some pretty heavy duty stuff, and occassions where threading goes out of control) on this machine! In fact, in terms of outright "need to reboot due to issues", my FreeBSD server and my Linux/IPCop router *both* need periodic reboots, while my Vista desktop is like a rock. I can't even get IE 7 to crash, unless Flash takes it down. "The FreeBSD Handbook even goes so far as to provide guidance on compiling custom kernels -- and there's more technical detail in manpages." Yup. I had to go through this, in the 5.X days. Why? Because I hoped that a "modern" OS would include file system quotas. Or proper SMP support out of the box. I discovered that I was wrong. Don't mistake me, I really love FreeBSD. But having to compile the kernel to get file system quotas in 2005 or so was just rediculous. I know why it was done like that... so the kernel can fit onto a floppy. *Nix is held back by its own legacy. "I made a conscious decision some time ago to try to avoid working for anyone that requires that kind of CYA tactics." You never find out until you've been there just long enough for it to look bad if you were to leave. At least I don't. I am hoping that my new situation is not like this. :) "I think you mean "corporations" here, when you say "businesses"." Nope. Small businesses are even *worse*, because the owner (rightfully) treats every dollar spent as one of their own. It's why I don't like doing business with small, single owner companies. I've worked in companies from the size of "I am employee #2" all the way up to $100 billion market capitaliztion. The attitude is fairly consistent. In fact, in a big company, there is a chance that the corporate financial oversight is just lax enough to let some dice rolling (or at least a few catered meetings) to occur. "That's a problem of the customer businesses being populated by idiots who are quite practiced in finger-pointing." It's a good thing you stay out of those kinds of companies. :) The reality is, if one finds themselves in such an environment, that kind of behavior is a survival technique. If owning up to mistakes got people promoted, I am sure that you would see that kind of behavior instead. But calling someone who finger points in that kind of an environment an "idiot" is quite incorrect. They are acting as a rational agent. Does it help the company? No. But since when is it the employee's responsibility to help the company *at the risk* of their own career, particularly when the business environment is openly hostile to "doing the right thing"? It's been more than a few times in the last few years I expected to lose a job, just for being honest (without being tactless, no less!). That is scary indeed. "I just advocate for changing the industry for the better, rather than saying "I'm going to sit down, shut up, and buy IBM. Nobody ever got fired for buying IBM."" I agree, we are in agreement; I tend to try to change my employers, but if they don't want to change, why force the issue? I can either leave if it means that much to me, or not leave (for less important matters). But to push the point past where I know for sure it won't go anywhere is simply annoying to others. "Anyway, I don't see how that refutes my suggestion that OS development is profitable." It doesn't. But to say that you having FreeBSD on your laptop shows that OS development can be profitable... I don't see the connection between the two, unless you are using "profitable" to *not* mean "create net revenues in excess of operating costs for a company", and are measuring in a non-financial way, or are measuring something like "total utlity". And from other statements, I beleive that is the correct interpretation, not just net revenue. "Actually, it goes a lot further than that -- such as the "advance" system used, where a certain amount of money is fronted to the musicians, from which most of the label's expenses in developing and marketing the band's material are actually paid." Yup, well aware of all of this too. Even major bands get burned. That's why you see stuff like GnR's album "The Spaghetti Incident". That was made to complete their contractual obligations. Likewise, you'll see a band starving despite having a hit album, because they are paying off the advance that got chewed up by "expenses". The ubiquitous article (supposedly written by Steve Albini, but not sure how true that is) influenced me greatly on the topic, years ago: http://www.rockrap.com/nomusicbiz/deal.html So I am not at all unfamiliar with where you are coming from! I've known a lot of people in bands, including some folks who did end up getting signed to a record deal. It definitely is not a good deal for the artist; they are essentially gambling on the hope of putting together a string of megahits and doing a ton of touring. And that's their end of the risk game. Does it stink? Yup. But not any more (in principle) than the person who studies a "non-marketable" major in college, and finds themselves with student loans and unable to find a job that pays well. J.Ja

Absolutely
Absolutely

[i]And the "value add" that the company brings to the table is that they go through the expense of allowing an individual (or small group of people) to have the opportunity to bring their artistic vision to the marketplace, taking on the vast majority of the financial risk, and therefore a vast percentage of any profits. I can dig it. But software? Software is nothing like those industries. Software is more like the auto industry, or the airplane industry. A company has an understanding of the market they wish to sell products to. They draft a list of specifications that the product needs to have in order to be successful in that market. They assemble various teams of experts to design the product to meet the specifications, and then put together teams of engineers, designers, etc. under the management of project and product managers to get the product put together, tested, etc., and then they deliver the product to market. Software shares this engineering delivery process, with some of the sales model of art (the media is not the product). And that makes it bizarre. I think we will definitely take a lot more time to figure out the best way of making money while writing code, without one necessarily causing the other to occur.[/i] Openness of user feedback makes that all completely unnecessary.

Absolutely
Absolutely

[i]This is always an interesting question. What exactly is software? With music, I am buying the CD itself, which needed to be burned, packaged shipped, etc. I am also paying for the risk that the studio took to pay for the album to be recorded, despite the fact that [b]few albums are profitable.[/b][/i] Compared to any one studio's budget, the risk taken on any 1 artist is negligible, or less. As proof, consider the number of albums Elliot Smith sold, and that when he committed seppuku, no studio went bankrupt, or even close. The studios have all the representation they need, I assure you, to continue gathering vast quantities of capital while treating their breadwinners as disposable, without your assistance, which you seem to be providing free of charge to them. True? [i]I am also paying for them to have spent money scouring clubs and bars with A&R folks looking for good artists.[/i] "Scouring"? You spent $0.01/$1.00 or less for some undergraduate failure to buy cocktails for some hottee(s) to tell them who hot chicks like, on that particular night. [i]I am paying for their marketing, even for artists and albums I am not buying. And I am paying for them to make a profit.[/i] This is your argument [b]in favor of[/b] the business as usual models? [i]Books have an identical business model. So do movies. The different expenses are in different proportions, of course, from industry to industry. But at the end of the day, the physical content delivery mechanism is fairly irrelevant and comprises a small portion of the cost, and the "product" that is being sold is the content on the media.[/i] Good point, well-said & true -- and in software, even more so than in the industries you're using for comparison. A weakness of your analogy is that music and other arts may have grounds for charging a premium for excellence in live performances, but programmers only need to do our jobs right once. But, that is just a throwaway comment; there is a more important flaw in your argument. [i]I think where F/LOSS shines is in situations where it would not be particularly profitable to do something, but everyone benefits if it is done, if that makes sense.[/i] I am about to destroy your entire argument, with a single word: Apache http://news.netcraft.com/archives/web_server_survey.html I'll bet you all the money they earn that some of those installations are profitable. [Note that the outcome that I lose this bet rests on the condition that their profit is zero, and that I set the amount of the bet to the amount of their profit, so there is not way that I can lose money, only an irrelevant bet.] [i]The GPL "infects" anything it touches, which is abusive to those who want to use it.[/i] The terms of such agreement are known in advance of commitment to them, in contrast to Microsoft's EULAs. You seem to be confused.

apotheon
apotheon

"[i]Microsoft Windows and Mac OS X meet the customer's needs (and Windows much more so, since one need is "Windows application compatibility") than any *Nix out there, due in large part to the fact that *Nix is comprised of a bunch of unrelated, unmanaged, and unplanned chunks of modularized functionailty glued together over STDIN and STDOUT.[/i]" Modularized functionality is one of Unix's strengths -- not one of its weaknesses. Some of the most impressive comprehensive applications out there are built on chunks glued together over STDIN and STDOUT (such as K3b). Note that I use the term "comprehensive applications" to refer to those apps that have six metric tons of features in them, in the tradition of MS Windows apps -- which, in the long run, will hopefully die in favor of better division of labor between less crufty applications. Anyway . . . STDIN and STDOUT are a much better way to glue together tools than the MS Windows way. Have you looked under the hood of MS Windows APIs lately? No [b]wonder[/b] all the apps are massive, monolithic, bloated monuments to poor design! "[i]The day that someone puts out a *Nix where all of the commands share all of the same options[/i]" The various BSD Unix systems do a better job of that than MS Windows. "[i]a GUI that is consistent and has been designed with usability theory in mind[/i]" What . . . like the many X window managers that fit that description? "[i]Is MySQL perfect? By no means! Is it at least in the same class as Oracle, SQL Server, or DB2? Nope, but it's getting closer every day.[/i]" PostgreSQL is in that class. "[i]MySQL changes the game, in a very good way, and makes it nearly impossible to try to *sell* a DB in that class, for any sum of money.[/i]" Actually, MySQL does quite the opposite. The company MySQL does a brisk business "selling" the DBMS MySQL. "[i]What exactly is software?[/i]" It's policy that enforces itself. One doesn't buy a chunk of policy from an efficiency consultant -- one buys the services of providing expertise in tailoring policy to one's needs. If someone wants to build a software-based business model around the business model of some other industry -- a business model that is based on market realities rather than wishful thinking and protection rackets -- that person should look for business models that involve putting policy in operation rather than putting chairs under desks and cars in garages. "[i]Software is nothing like those industries. Software is more like the auto industry, or the airplane industry. A company has an understanding of the market they wish to sell products to. They draft a list of specifications that the product needs to have in order to be successful in that market. They assemble various teams of experts to design the product to meet the specifications, and then put together teams of engineers, designers, etc. under the management of project and product managers to get the product put together, tested, etc., and then they deliver the product to market.[/i]" You obviously have a much less cynical view of the record and motion picture industries than I have. Most of the pap you see on the shelves in music and video stores is constructed, test-market-driven gunk churned out more by the force of will of marketroids than any artistic vision. Even when a movie (like [i]300[/i]) is produced with some measure of "artistic vision", it's because some executive made a conscious decision to settle on a given "artist" to direct the film, guessing that director's vision would draw fans like flies, all as part of a greater moneymaking scheme. Nothing wrong with making money -- but these guys, because they control the content in their industries, basically set about telling us what we like to the best of their collective ability, and two "artists" are about as likely to get picked up by the major labels, studios, et cetera, even if one is incredibly talented and the other is a vapid, bumbling idiot -- all else being equal. "[i]For IBM to pay someone $70,000 a year to be a technical writer to document a system that they sell to thousands of customers makes a lot more sense than my paying $70,000 per year for a technical writer to document the piece of F/LOSS I just downloaded.[/i]" One of the beauties of free/libre/open source software is that you don't have to pay for the whole thing -- as long as there are others out there who want it, too. Costs are defrayed. Would you rather pay $10k a year for software licenses so you have some functionality that's somewhere in the ballpark of being the right thing, or $10k a year to have your software made perfect for your needs? By the way, part of the reason it would cost less than just having people on-staff that would otherwise work for the vendor is because you don't really have to have anyone on-staff. For a long time, Richard Stallman's main source of revenue was taking requests for emacs features. I'm pretty sure nobody individually paid him $70k per year. "[i]As much as I like it, the FreeBSD Handbook is not 'documentation' on a point-by-point functional basis.[/i]" The FreeBSD Handbook is user documentation. The Unix Manual (manpage system) is a combination of more user documentation and developer documentation. Everything's covered, at least to a far greater degree than I've seen for any significant proprietary software (and by "significant" I mean things like "similar size", et cetera). "[i]That being said, compare the man pages that ship with any *Nix system to the Help system in Windows. Microsft wins hands down. I can imagine using, installing, maintaining, and configuring Windows (even their servers) without an Internet connection.[/i]" What, exactly, do you find problematic about manpages as compared with .chm help systems in MS Windows? The Unix Manual is better organized, far more comprehensive, and available via a number of different interfaces. It also helps that search functionality actually works worth a damn in the Unix Manual. "[i]I have done just about everything in Windows server imaginable, without needing to look anything up on the Internet.[/i]" That boggles my mind. How the hell do you deal with stuff like performance tuning via regedit without checking online? Are you talking about taking classes and buying books? How about third-party tools? These are the only things I can think of that would help in areas like that, where the included help system responds to queries with a deafening silence. "[i]I cannot imagine the same for FreeBSD, or any other *Nix.[/i]" I'm not sure why that would be the case. The FreeBSD Handbook even goes so far as to provide guidance on compiling custom kernels -- and there's more technical detail in manpages. "[i]I've been in too many situation where having a vendor who is responsible for the problem and responsible for fixing it saved my job, to not appreciate this.[/i]" I made a conscious decision some time ago to try to avoid working for anyone that requires that kind of CYA tactics. I'm not too keen on having to play silly buggers with finger-pointing when everyone involved would be better served by doing good work, using good tools, and being honest and forthright. "[i]Businesses are conservative and risk adverse by nature[/i]" I think you mean "corporations" here, when you say "businesses". It's the nature of the beast for the corporation, being a legal entity divorced significantly from the wills of the individual people who nominally control it. There's a startling bunch of similarities between the character of a corporation and the mob mentality, with "groupthink" being somewhere in the mix as part of the defining character of corporations as well. Corporations are so remarkably risk-averse not because they're businesses, but because they are distinct legal entities guided by a consensus of liability avoidance. In short, they suck for actually producing value because they're too busy indemnifying share holders and trying to destroy anything "not invented here". "[i]Personally, I feel that a vendor is no guarantee that the risk to the business is reduced, but it reduces my personal risk.[/i]" This is a reason that vendor-driven productized software business models are slow to fade away, but it's sure as heck not a [b]good[/b] reason. That's a problem of the customer businesses being populated by idiots who are quite practiced in finger-pointing. Ever wonder why middle management PHBs spend all their time playing CYA and pointing fingers, letting the business burn while they fiddle? It's because they started out as lower-level peons who ensured they moved up in ranks with platitudes like "Nobody ever got fired for buying IBM." "[i]Blaming the vendor is part of career longevity in this industry, because the people who swing the axe with the system goes down don't understand a thing about why the system went down.[/i]" You started out saying things that sounded like you thought OSes such as FreeBSD were a bad choice. Now you're saying things that sound like you think FreeBSD (or Debian, or whatever) is a [b]good[/b] choice, but people have to make the [b]bad[/b] choice because the current state of the industry sucks. News flash: That's what I was saying, too. I just advocate for changing the industry for the better, rather than saying "I'm going to sit down, shut up, and buy IBM. Nobody ever got fired for buying IBM." "[i]Who made money on you using FreeBSD? Microsoft did.[/i]" 1. That's only in the case of my laptop. Everything else is built from parts, bought second-hand, or purchased from a server hardware vendor that isn't wedded to the Microsoft Frankenstein's Bride of OS distribution. 2. Even in the case of laptops, things are changing. You can now buy laptops from Lenovo, Dell, and others that come with FreeDOS, Linux distros, or sometimes [b]nothing at all[/b] already installed. My next laptop is more likely to come with an OS from Novell on it than an OS from Microsoft -- even though I'll be replacing it with an OS from someone like the FreeBSD Foundation. Anyway, I don't see how that refutes my suggestion that OS development is profitable. "[i]As far as I am aware, no one else saw a penny from your choice to use FreeBSD.[/i]" There are other resources out there than money -- and ultimately, the value of money is only in the resources it can purchase. "[i]I agree that when the legal structure supports the 'rights' (note the sarcastic quote marks) of a corporation to make a profit over the rights of individuals, there is a problem.[/i]" The very existence of the corporation as a legal entity pretty much guarantees that deplorable state of affairs. It has legal 'rights' (privileges, really), which then must be weighed by the law against those rights of actual human beings -- which means that sometimes a human being's rights get rolled over by the so-called "rights" of a fictional being. It's like saying anyone who eats cookies after midnight will be thrown in jail for potentially depriving Santa Claus of his due. "[i]no matter what I say about this right now, I will not feel happy with it down the road.[/i]" I obviously don't have such compunctions. I can respect your desire for discretion, though, and won't demand answers you don't want to give -- as long as you don't try to use arguments on me that depend upon assumptions you aren't willing to examine. "[i]This statement (I am assuming) is drawn from the commonly cited division of proceeds from an album sale. We all know the general breakout... about $1 (or less) per CD goes to the artist/band (minus a ton of 'expenses' that their contract says they need to pay), to the point where the salaried studio musicians typically makee more than the artist.[/i]" Actually, it goes a lot further than that -- such as the "advance" system used, where a certain amount of money is fronted to the musicians, from which most of the label's expenses in developing and marketing the band's material are actually paid. When that's all handled, anything that's left is subtracted from the pittance (relative to the label's take) gained from sales that the musicians and songwriters supposedly get. I don't think anyone has even broken even on their first album in something like thirty years (totally shooting from the hip on this one). This is then parlayed into locking the bands in question into contract renegotiations with more draconian terms, allowing the record executives to dictate content, et cetera. It's not a matter of the label making more than the band -- it's a matter of the band coming out of a platinum album tens of thousands of dollars in debt, even if they lived in a trailer park and ate nothing but pork and beans the whole time. . . . and at the end of it all, once a band leaves a label, finally finding a measure of freedom, they aren't allowed to perform their own music without some grovelling and payment for the privilege.

Justin James
Justin James

"Selling software will become decreasingly effective at making money as time goes on." I agree, but some "genres" of software will take a lot longer for this to happen than others. It depends quite a bit on the difficulty of writing software that meets the customer's needs fully. I hate to say it, but Microsoft Windows and Mac OS X meet the customer's needs (and Windows much more so, since one need is "Windows application compatibility") than any *Nix out there, due in large part to the fact that *Nix is comprised of a bunch of unrelated, unmanaged, and unplanned chunks of modularized functionailty glued together over STDIN and STDOUT. The day that someone puts out a *Nix where all of the commands share all of the same options and work seemlessly with a GUI that is consistent and has been designed with usability theory in mind is the day that *Nix takes its first step towards mainstream desktop adoption. Then you have something like MySQL. Is MySQL perfect? By no means! Is it at least in the same class as Oracle, SQL Server, or DB2? Nope, but it's getting closer every day. That being said, MySQL meets the needs of a massive amount of database owners out there. As a result, it is doing quite well. Luckily for Oracle, Microsoft, and IBM, where MySQL is doing quite well is not a market they really targeted anyways... which is unfortunate. Before MySQL, the smaller businesses either had to fork over a small fortune to get a DB much more complex than they really needed, or have a bunch of Excel spreadsheets on a shared drive, or maybe and Access DB or two. MySQL changes the game, in a very good way, and makes it nearly impossible to try to *sell* a DB in that class, for any sum of money. "I much prefer the former, which provides plenty of opportunity for people to make lots of money with business models that don't involve pretending software is something it isn't." This is always an interesting question. What exactly is software? With music, I am buying the CD itself, which needed to be burned, packaged shipped, etc. I am also paying for the risk that the studio took to pay for the album to be recorded, despite the fact that few albums are profitable. I am also paying for them to have spent money scouring clubs and bars with A&R folks looking for good artists. I am paying for their marketing, even for artists and albums I am not buying. And I am paying for them to make a profit. Books have an identical business model. So do movies. The different expenses are in different proportions, of course, from industry to industry. But at the end of the day, the physical content delivery mechanism is fairly irrelevant and comprises a small portion of the cost, and the "product" that is being sold is the content on the media. Software is a unique industry, even outside the boundaries of books, films, etc. For one thing, what those industries can justify much of their model on (and I tend to agree) is that they are effectively a risk pool; for every film that makes money, 5 lose money. For every CD that goes gold, 100 sell 100 copies. And so on (just making up numbers here). And the "value add" that the company brings to the table is that they go through the expense of allowing an individual (or small group of people) to have the opportunity to bring their artistic vision to the marketplace, taking on the vast majority of the financial risk, and therefore a vast percentage of any profits. I can dig it. But software? Software is nothing like those industries. Software is more like the auto industry, or the airplane industry. A company has an understanding of the market they wish to sell products to. They draft a list of specifications that the product needs to have in order to be successful in that market. They assemble various teams of experts to design the product to meet the specifications, and then put together teams of engineers, designers, etc. under the management of project and product managers to get the product put together, tested, etc., and then they deliver the product to market. Software shares this engineering delivery process, with some of the sales model of art (the media is not the product). And that makes it bizarre. I think we will definitely take a lot more time to figure out the best way of making money while writing code, without one necessarily causing the other to occur. ". . . unless you pay someone to do it. Gee, that's surprising -- you can still pay someone to produce something for you, even if you don't "own" the copyright for it." It comes bacck to the idea of the vendor acting as a risk manager. For IBM to pay someone $70,000 a year to be a technical writer to document a system that they sell to thousands of customers makes a lot more sense than my paying $70,000 per year for a technical writer to document the piece of F/LOSS I just downloaded. Unless I completely misunderstood the intent of the remark, which I suspect I did. "Also . . . only the copyright holder for a given piece of software has the power you describe. We, the users, do not -- as proven by the abysmal state of documentation for various MS Windows and Oracle database versions. Contrast these with the FreeBSD Handbook to see how the implied consequences of your argument, though initially attractive, are ultimately not supported in practice." As much as I like it, the FreeBSD Handbook is not "documentation" on a point-by-point functional basis. It is a "quick start guide", or FAQ. I agree that it is much better than equivalents for Windows (I agree that Oracle's documentation is worthless). That being said, compare the man pages that ship with any *Nix system to the Help system in Windows. Microsft wins hands down. I can imagine using, installing, maintaining, and configuring Windows (even their servers) without an Internet connection. Indeed, I have done just about everything in Windows server imaginable, without needing to look anything up on the Internet. I cannot imagine the same for FreeBSD, or any other *Nix. Thankfully, the source code is no longer the documentation... now it is whatever the search engine of my choice digs up. "Maybe for you. I prefer having software that works more often over having software that comes with an implied default point of blame. If I felt as you describe, I'd be running MS Windows XP on this laptop (or even Vista, perhaps), instead of FreeBSD." I should have been more clear, this was meant specifically for business purposes. I've been in too many situation where having a vendor who is responsible for the problem and responsible for fixing it saved my job, to not appreciate this. Businesses are conservative and risk adverse by nature; having a vendor is viewed (right or wrong) as a risk reducer. Personally, I feel that a vendor is no guarantee that the risk to the business is reduced, but it reduces my personal risk. Blaming the vendor is part of career longevity in this industry, because the people who swing the axe with the system goes down don't understand a thing about why the system went down. In terms of career preservation, "It's Red Hat's fault!" works well; "I chose the wrong Debian variant" does not work well. In other words: "No one ever got fired for buying IBM." "If you think OS development isn't profitable, I think you haven't been paying attention." Who made money on you using FreeBSD? Microsoft did. They sold you a copy of Windows. The fact that you are not using it increases their profit (by a few pennies) because you are one less person using the bandwidth for Windows update. As far as I am aware, no one else saw a penny from your choice to use FreeBSD. You aren't even having ads pumped onto your desktop. "It is a statement specifically about the very particular legal entity known to lawyers as the "corporation", which has existed in the real world for only about 150 years, and is in fact the dominant economic institution in a fascist state by definition." I agree that when the legal structure supports the "rights" (note the sarcastic quote marks) of a corporation to make a profit over the rights of individuals, there is a problem. However, we are now in that part of the discussion that I typically do not feel super-comfortable with in this particular venue, not the least of which is because I try to keep my personal politics (that do not directly relate to the IT industry) out of this particular space, and also because my opinion, despite over a decade of examing the topic, is still not settled. I can argue rather convincingly on all sides of this, and beleive myself quite well. To rephrase, no matter what I say about this right now, I will not feel happy with it down the road. I have literally spent nearly 3 hours now writing and re-writing the response to this statement, without coming up with something entirely satisfactory to me. That's a good sign that I should not post a reponse (at least not publically) at all. :) "In general, the single most-screwed class of people in the mainstream music recording industry is the content creator." This statement (I am assuming) is drawn from the commonly cited division of proceeds from an album sale. We all know the general breakout... about $1 (or less) per CD goes to the artist/band (minus a ton of "expenses" that their contract says they need to pay), to the point where the salaried studio musicians typically makee more than the artist. Unfortunately, I also see a lot more than one right angle here, and must abstain from further comment, until my "beleifs" and "feelings" become "argueably provable" at the very least. :( J.Ja

Absolutely
Absolutely

[i]In general, the single most-screwed class of people in the mainstream music recording industry is the content creator.[/i] Copyright law treats the sheet music as more valuable than the performance.

apotheon
apotheon

"[i]* I like money. I like making money. It is fairly clear that selling software makes a lot more money than selling support for software, in most cases.[/i]" I like money, too -- or, at least, the things money allows me to do. Selling software will become decreasingly effective at making money as time goes on. One of two things will happen: 1. The value of software under proprietary license, "sold" as a "product", will drop to near-nothing. 2. The law will have to change so drastically that only a very limited few vendors will be able to make any money off software at all -- but those few vendors will make money hand-over-fist -- while everyone else in the world will be reduced to either getting jobs unrelated to software or living off the magnanimity of those vendors. I much prefer the former, which provides plenty of opportunity for people to make lots of money with business models that don't involve pretending software is something it isn't. "[i]* While not necessarily being transparent, one can be given the assurance that someone did task XYZ (whether it be a code review, unit testing, writing a document or whatever) if the vendor paid an employee to do it. With F/LOSS, what gets done is what people feel like doing. If no one feels like doing a code review or writing a manual, you are out of luck.[/i]" . . . unless you pay someone to do it. Gee, that's surprising -- you can still pay someone to produce something for you, even if you don't "own" the copyright for it. Also . . . only the copyright holder for a given piece of software has the power you describe. We, the users, do not -- as proven by the abysmal state of documentation for various MS Windows and Oracle database versions. Contrast these with the FreeBSD Handbook to see how the implied consequences of your argument, though initially attractive, are ultimately not supported in practice. "[i]* A throat to choke is always appreciated.[/i]" Maybe for you. I prefer having software that works more often over having software that comes with an implied default point of blame. If I felt as you describe, I'd be running MS Windows XP on this laptop (or even Vista, perhaps), instead of FreeBSD. "[i]I think where F/LOSS shines is in situations where it would not be particularly profitable to do something, but everyone benefits if it is done, if that makes sense.[/i]" I find FLOSS quite impressive in more circumstances than that. Again, I direct you to the fact I'm using FreeBSD instead of MS Windows XP on this laptop, despite the fact that it came with an MS Windows XP license. If you think OS development isn't profitable, I think you haven't been paying attention. "[i]I feel that the way most F/LOSS interacts with 'the industry' is rather abusive, on both sides, particularly when the GPL is involved.[/i]" I am [b]not[/b] a fan of the GPL, so you won't find me disagreeing with this statement of yours. About the only kind of software licensing I like less than the GPL is stuff like Microsoft's EULAs. "[i]It's sad that in a way, looked at like that, Microsoft's business model almost looks benevolent... at least then the developers get paid well.[/i]" That strikes me as a gross exaggeration. Microsoft's business model only looks benevolent by comparison if you [b]ignore[/b] most of Microsoft's business model. In the end, the difference between a megacorporation like IBM and a megacorporation like Microsoft is which people are getting screwed to which degree. There's about the same amount of "We will relentlessly screw everyone we have to, to get ahead -- and then some, just to be on the safe side," in both examples. It's just distributed differently. Choosing between them is nothing more than shuffling the deck chairs on the Titanic about fifteen minutes after it bounced off that troublesome piece of ice. The problem, to a significant degree, is corporate law as a whole -- of course. Anyone who has been paying attention should be able to figure out for him- or herself what professionals (economists and psychologists, I mean) are only now starting to talk about with any seriousness: the corporation is to the economy what the most dangerous sociopath is to his or her neighbors. This is not an indictment of free enterprise, ambition, capitalism, or even large business organizations, mind you. It is a statement specifically about the very particular legal entity known to lawyers as the "corporation", which has existed in the real world for only about 150 years, and is in fact the dominant economic institution in a fascist state [b]by definition[/b]. If you spend a few seconds thinking about it, I'm sure you can come to some very frightening conclusions about the nature of the relationship between corporatism and strong copyright law. Here's a hint to get you started: In general, the single most-screwed class of people in the mainstream music recording industry is the content creator.

Justin James
Justin James

One thing to keep in mind as well is that there is a world of difference between "open source" and a license like GPL, which really confuses the issue! 99% of people out there conflated GPL'ed code (or similarly "viral" open source licenses, the "F/LOSS" movement in general) with "open source". this is a bad thing to get mixed up. UNIX (as in, "all capital letters, Bell Labs" UNIX), for example, has been "open source" forever. After all, to get anything done, you needed to edit or patch the source and recompile. But the license was quite proprietary. You certainly could not redistribute UNIX or sell it unless you were whoever owned the UNIX codebase. So in that sense, you can meet the goals that you and I like (code inspection, modification for within-the-LAN purposes), while maintaining a proprietary business model. What I like about the proprietary business model is: * I like money. I like making money. It is fairly clear that selling software makes a lot more money than selling support for software, in most cases. * While not necessarily being transparent, one can be given the assurance that someone did task XYZ (whether it be a code review, unit testing, writing a document or whatever) if the vendor paid an employee to do it. With F/LOSS, what gets done is what people feel like doing. If no one feels like doing a code review or writing a manual, you are out of luck. * A throat to choke is always appreciated. As someone who has been the choked throat and the choker, I can tell you that having someone who must take responsibility for a problem feels better 90% of the time than the actual resolution of the problem, particularly to the Big Boss. A happy Big Boss makes me happy. I think where F/LOSS shines is in situations where it would not be particularly profitable to do something, but everyone benefits if it is done, if that makes sense. The "stone soup" type of deal. For example, and industry-wide XML standard and code components in PHP, Java, and .Net to handle them. No individual company would make money trying to make that happen, but everyone in the industry can make a profit if they all donate the time of a few employees to contribute to the standard writing and then the code implementation. That shows true ROI. At the end of the day, I feel that the way most F/LOSS interacts with "the industry" is rather abusive, on both sides, particularly when the GPL is involved. The GPL "infects" anything it touches, which is abusive to those who want to use it. On the flip side, industry players like IBM or Sun "helping" Linux... c'mon folks, let's get real. They ahve no interest in "helping" anyone unless it is to drive a wedge against Microsoft. It's rather abusive and/or cynical to sell a product that is 99.99% F/LOSS code, and claim that you are selling the 2,000 lines of code that went into the proprietary Web-based management system you layered on top of everyone else's work. It's sad that in a way, looked at like that, Microsoft's business model almost looks benevolent... at least then the developers get paid well. J.Ja

apotheon
apotheon

Your use of the term "mandates" is what creates the difference between what Absolutely intended and what you seem to have understood from what he said. All else being equal (as Absolutely has now qualified his statement), open source development practices provide greater opportunity for all of the benefits Absolutely enumerated and implied. In practice, then, the tendency is for this opportunity to be fulfilled to varying degrees. While it's possible that in some cases there are cases contradictory to these expectations, these are statistical outliers -- and do not involve things like MS Windows, Oracle's DBMSes, or the Java Runtime Engine, all of which appear to fall well within the statistically defined realm of probability as laid out by Absolutely's statements. So, sure . . . there's always room for statistical outliers. That doesn't in any way refute what Absolutely said.

Absolutely
Absolutely

No need to remind me of the quirkiness of this site, I'm just making a small joke here.) [i]The only quibble I have is the idea that open source, in and of itself, mandates that it is more probably that more eyes are on the code, or that those eyes are any good.[/i] OK, I should not have said that open source has that effect "in and of itself," and any previous statements I've made that imply that should have "in and of itself" removed and be qualified with "other things being equal." And of course, other things are not equal; there is more money, in total, in proprietary software, and more incentive, in the likelihood of your errors being caught and publicly attributed to your name, in open source. Overall, there are a lot of these point-counterpoint pairs in proprietary vs. open source. The deciding factor in my book is the right to legally make any needed or wanted modifications to the instructions being performed on the hardware I own. That is not leased, and I'm not generally willing to lease the instructions that direct my hardware when I have a viable alternative. Say, did you know that there is a GPL Flash Player? It seems to need some work; for example, it displays a working (in Windows, with the Shockwave Flash Player) animation of an analog clock, stuck at 12 midnight, but it's much closer to the intended appearance than what would be there otherwise, a green image of a piece of a jigsaw puzzle.

Justin James
Justin James

You make some pretty good points there. :) The only quibble I have is the idea that open source, in and of itself, mandates that it is more probably that more eyes are on the code, or that those eyes are any good. ;) J.Ja

Justin James
Justin James

You make some pretty good points there. :) The only quibble I have is the idea that open source, in and of itself, mandates that it is more probably that more eyes are on the code, or that those eyes are any good. ;) J.Ja

Editor's Picks