Should Software be Free?

Folks, there is a misnomer. The idea of ‘free’ in this case is not in terms of the cost to the consumer, but in terms of freedom to reverse engineer, analyze and change the program as the consumers see fit. To this extent, it is the ‘anti-EULA’. Not only you own the CD, you own the rights to the content itself and the rights to modify it for personal use, which is not so the case in the other model being discussed.

True, but generally distributive rights are included with access to the source code . . . what you’re paying for is documentation and someone to bitch at if it doesn’t work.

In my mind, those are the big obstacles that the free software movement faces. People are willing to pay a high premium for something that they can use and get someone else to fix. I’m in favor of the movement generally, but I sometimes get the impression that Stallman et. al. think that if you can’t write your own drivers then you have no business with a computer. Maybe that’s a valid philosophical theory, but at this point it’s too late to backslide.

There are a LOT of problems with expanding the scope of the ‘open source’ movement.

First of all, the percentage of programmers willing to work this way is very limited. There just aren’t enough to go around. I’ve been working as a software developer since 1978, and if I couldn’t be paid for my work I’d quit in a second. The majority of programmers are people like me. And as it is there’s a shortage.

Second, programmers tend to gravitate towards open source projects that are interesting and exciting. So I’m not surprised that there are programmers willing to work on open-source operating systems, system utilities, internet applications, etc. But where are the open source customer management systems? Open source point of sale packages? What about the millions of mundane, boring software applications that programmers have to work on all the time?

Then there’s the moral argument - I created it, I should own the rights to it. And by the way, doesn’t the same argument apply to writing? It’s a purely intellectual exercise, after all. Once the book has been created, it can be copied for free. So should all literature be open-source? How about textbooks? If so, then who is going to pay for the photographers, the artists, the travel, the research, etc.? Are people going to be willing to copy edit Home economics textbooks for free?

And why stop there? How about artists and photographers? Movies? Just what is there about software that should force the people who create it to give it to the world for free, when other intellectual property owners don’t have to?

Standards for mass-market programs/applications. Right now, it is either Windows or Mac OS. In a completely open-source world, there would be NO standard. Hundreds of different versions of OS’s - none NEARLY as powerful as any OS is today - would exist. That quality in the market would make computers completely inaccessible to the average Joe.

Completely beside the point. In an open-source market, everyone may get to stand on everyone else’s shoulders, but with so many shoulders to stand on, you wind up with hundreds of different versions of the SAME thing, rather than a half dozen at most. Again, this environment would make computer usage completely inaccessible to the average Joe.

:rolleyes:

Fallacy of appeal to authority. The fact that I haven’t studied it in no way means I can’t spot the errors in the logic. In fact, my spotting the errors in the logic just goes to show how poorly this topic was studied in the first place.

  1. Why not? Just because they don’t intend to give away their hard work doesn’t mean they won’t take advantage of suckers who will.

  2. Except a lack of incentive to do any high-quality, high-time-consuming work. I’m talking about software that takes dozens upon dozens of people with months upon months of programming. That sort of organization requires capital, which requires a means of gaining capital, which is impossible to do on a large scale in an open-source world (yeah, you can still sell your product, but you’d only sell a dozen copies before thousands of people have it!).

Great. I just spend three years writing code, and now I have “bragging rights”. Too bad I’m destitute… and, oops, someone completely redid my program and made it better within a matter of hours.

Yeah. “Bragging rights”. That’s all the incentive it’ll take to get millions of people to learn how to write code. Bragging rights.

I don’t see anyone giving a damn about Apache yet. Heck, go down to your local electronics store and take a poll… a bet not one customer in a hundred has heard of it, and not one in a thousand can tell you exactly what it is.

Not ready to mass-market, no.

No, the Internet, as it is now, is made possible by millions of people owning a computer… which is made possible by the availability of software that doesn’t require three years of training.

I never said they were the same thing. But there couldn’t be a standard if that standard weren’t copyrighted, as every 1337 h4><0r5 would have his own version out and circulating whenever a new attempt at a standard were released. Obviously, you can’t have a standard with hundreds of competing versions.

It can also suck sour frog ass.

My apologies. I meant the latter.

Utterly beside the point. Look at all the companies that also don’t release their work into the public domain that haven’t been accused of illegal business practices.

In short, Stallman’s proposal is a pipe dream for the Programming Elite.

Ever heard of POSIX? If you write your program properly, it will compile and work exactly the same on Linux, Solaris, UnixWare, Irix, DOS (with DJGPP), Windows (with CygWin32)… any compliant platform.

Or how about X? You can run a program on a Windows server and have it appear on your Linux desktop in the next room, or run a program on Solaris and have it appear on your Windows desktop in the next time zone.

Because programs released under the GPL cannot legally be incorporated into non-GPL software.

Like Linux, Apache, and GCC?

Random Joes aren’t the audience, webmasters are. And Apache is by far the most popular web server.

There’s “made possible” like “your car is made possible by the millions of people who want cars, which provides an incentive for manufacturers to set up costly production lines, hire designers and engineers, and distribute cars across the country.”

And then there’s “your car is made possible by the invention of the internal combustion engine and the processes to refine steel,” which was of course the original context. The Internet runs on open source software. Bind (most DNS servers), Sendmail (many SMTP servers), Apache (most web servers)… not to mention the BSD operating system itself, which is what all modern TCP/IP stacks are based on.

Look at POP3, SMTP, and IRC. There are specializations, but there’s still an underlying standard.

You have to pay the programmers in certain developmental models, which includes shrinkwarp programs. It does not hold true for all development projects.

Would you say Linux is a large software development project?

Software development business. Selling software is. Software development is just the means to producing software, itself is not a business.

Sure, a business needs to have income, but there are more ways to make money other than selling software. You can always give the software away to make money on services. Heck, you can give browsers away but make money on the operating system :rolleyes:

It makes sense because you also get to copy the effort of other people. Instead of doing the same thing over and over again, that is, reinventing the wheel, you get to dip into the accumlated efforts of a large group of people.

That’s only partly right. The popularity of Unix stemmed from AT&T’s decision to give System V free (other than the cost of tape, postage, and handling) to academic institutions. AT&T wouln’t maintain it, but it became an instant hit because the source code was available for in-depth studying.

I cannot recall DARPA has anything to do with it, other than the coincidence that the Internet was based on Unix/BSD.

The success of Unix is certainly complex. As much of it has to do with its simplicity in design - which said a lot about the designers, Thompson and Richie - as it being freely available, in source code form, to a large base of hackers (again, in traditional sense, not media sense).

Your first part is correct, your second part isn’t. While it’s true that Stallman is perpatually inside an academic environment doesn’t make his model of software less viable than the shrinkwarp model.

That’s Linux, not Unix. Unix uses “more.”

Nevertheless, you can find out what it does by using the “man” command. Most Linux distros come with comprehensive manuals that are way superior to, say, MS ones. There are lots of info in this area available on the Web, and you can always ask your friends.

You don’t have to know about the jokes and puns, and not knowing so does not distract from the usefulness of these utilities.

You mean something like shareware?

While you are correct that many home users don’t care much about a lot of these (what, you don’t have a http server at home :D), it doesn’t make these less than, say, Printshop.

Look, how many home users care about PhotoShop, Lightscape, or Quark Xpress?

I think you are rather confused on what a standard is, at least in the computer industry. Of course, it doesn’t help that we use that word loosely in a few senses. However, Windows is not a standard for off-the-shelf programs and applications.

I recall Unix/BSD is far more powerful than any MS operating system and they are open-source. Where did you get your speculation from?

Seeing that there is no monopoly in the consumers auto market, are you saying that the average Joe has no access to cars? If not, why is this different fom the software market?

I can only conclude this wild speculation comes from a totally uninformed person about OSS/Free Software.

At any rate, what does it mean by “inaccessable to the average Joe?” How do you define accessability?

::LMAO::

You’re sprouting nonsense. In fact, what you are saying about OSS bears no resemblence to reality.

I posit that an uniformed person cannot make any accurate analysis of the issue.

How, in fact, can you make any sound judgement with regrds to OSS when you know nothing about actuality in this area?

That’s a pretty narrow business model.What if your software doesn’t require constant servicing?

Except there is no one to copy off of because they are waiting to copy off of you. This is capitalism, if there is no incentive to do the work yourself, nobody will do the work.

Who cares if a few groups are reinventing the wheel? That’s competition. Do you think Intel and AMD, or GM and Ford are sharing schematics? Why can they keep things secret and get patent protection, but not software developers? I have been working for the last 5 years on a software package and I can tell you, there is no way in hell I’m letting anybody have the source for free.

As flexible as software is, I fail to see why we cannot both have proprietary software and free, open-source software. Nothing prevents anyone from releasing their source code and/or distributing their own product free of charge. Ever. A reason why this should in any way be mandated continues to elude me.

You gloss over the fact that AT&T continued to charge for licensing for any customers outside of universities. In fact, the AT&T commercial approach to Unix licensing led directly to the BSD networking releases which are in a real sense the beginnings of true open-source distribution schemes. However, the popularity of Unix had already been established by that time under a licensing scheme in which customers were given source code but required to pay for it.

My original statement is wholly correct. Unix began life as a commercially licensed product. AT&T made money from the source licenses which they required for non-university distributions of the OS. In fact, AT&T later sued BSDI and UC-Berkely over inringements of proprietary code.

Then you don’t recall that DARPA was instrumental in formulating requirements (and funding the work to fulfill same) for both networking and kernel tuning/performance in the early iterations of BSD. In fact, it was a DARPA decision to standardize on BSD’s TCP/IP networking protocol rather than BBN. To say “the Internet was based on Unix/BSD” fails to reflect that Unix/BSD was configured to meet the communications and performance requirements of DARPA. In fact, a DARPA steering committee was instrumental in guiding teh design of Unix/BSD in the early 80’s.

Really, I think erl has this one nailed. If open-source distribution really is a better system then it should not fear competition in the marketplace from other schemes for software development. I like OSS, but I would rather pay someone for commercial compiler support than waste another minute of my life wading through J2EE “documentation” hunting down specifications for remote function calls to Windoze dll’s.

I see ‘Urban Ranger’ completely ignored my message. How about it, you have any answers to my points?

The vast majority of software out there is not ‘sexy’ or particularly fun to work on. ‘Bragging Rights’ are only important to college kids who still hang out with large collections of peers and have few responsibilities. Ask a guy with two children and a mortgage whether he’d rather have ‘bragging rights’ or a hundred grand in his bank account.

And ooh… I can hardly wait to tell the world that I am the open-source author of the documentation for the serial driver for the UPC scanner in the local 7-11. I’m sure all the babes will go nuts over that. And you know that cool algorithm that figures out an optimum way to stock shelves in the Quickie-Mart by calculating product box size? Don’t be jealous now, but that was my work.

You have to pay people to get them to do things they don’t want to do. And I guarantee you, the world is full of software projects that people don’t want to do for free.

Open-source is a fine concept, and works very well in some circumstances. Specifically, it works well for software that is heavily used in academia and research, where there are huge quantities of highly enthused young programmers willing to toil away all night for ‘bragging rights’. If I want to toil away all night on something, I’d better have something to show for it. Or my wife will beat me over the head for being an idiot.

And yes, some companies like IBM are getting in on the act, but that’s only because they see the opportunity to take advantage of the free labor of a whole lot of people. IBM’s interest in Linux, for example, stems from the fact that they have huge mainframes and minicomputers that spawn many virtual machines, each of which requires an OS image. Windows may only be a couple of hundred bucks a copy, but if you’ve got to buy 300 copies for all your virtual machines in one computer, it gets to be a tad expensive. So IBM leveraged the open-source movement. More power to them.

And more power to you if you’re willing to spend your life writing code for ‘bragging rights’, while organizations like Red Hat and IBM take it and make millions off it while you live in a basement suite with three other hackers.

I agree that mandating open source is ridiculous.

But as we can see, open source is very capable of producing good software. OSS development is more active in more “interesting” fields like web browsers and operating systems, but there’s no reason it can’t progress (slowly but surely) in other fields:

Joe Ex-programmer finds himself out of work, gets a new job weaving baskets, and discovers that the program his employer uses to print basket templates costs $500 and crashes every day. So he spends a few hours of personal time each week writing a new one–not because he feels like working for free, but because he has to deal with the damn thing crashing every day–until finally he says “Hey boss, here’s a replacement for BasketPro 2000. I made it on my own time, so it’s open source and our competitors can use it too, but you have me to support it and they don’t.”

You are seriously underestimating the complexity of most commercial applications. First of all, there aren’t a lot of ex-programmers weaving baskets. So I guess the basket and garment industry will not be able to take advantage of the supply of out of work programmers.

But anyway, assuming our closet programmer is working with a frustrating commercial application. He’s going to replace it himself? Most commercial programs have man-years of effort put into them. Your evening hacker might take five years to replace his employer’s commercial software. At which time he’ll be having serious second thoughts about just giving it away.

Well, I’m a programmer, so I guess I’ll be foolish and jump in here.

The notion that open source and commercial development are in competition or opposition to each other was created by Richard Stallman, as far as I know. It has been given a boost recently by the animosity between Microsoft and the Linux community. It has little or no basis in reality.

Stallman cut his programming teeth in the MIT AI labs, if I remember correctly. Wherever it was, it was one of those places where talented programmers, some of whom would go on to become legends, worked on cutting edge programs, where code was shared and discussed, where the craft of programming was constantly analyzed, and where a great deal of informal teaching and learning occured. When priorities changed and funding was lost, Stallman was kicked out of paradise. He’s spent the last two decades trying to go home again.

Stallman’s claim that programming was originally an academic or intellectual pursuit is based on his own experience and belief that programming had always been conducted the way it had been in the AI labs. Actually, programming began as a job. When the first electronic computers were designed in the late 1940s and early 1950s, the prestigious job of hardware design went to men. The less prestigious job of actually making the monsters work went to women. (The term “monsters” refers to the computers, not the men.) The women were well educated, but they were not researchers, scientists, or intellectuals. They were people hired to do a job that the researchers and intellectuals didn’t want to bother with. In the process of doing this job, they laid the foundations of modern programming.

The Internet was not developed on Unix. It was developed on TOPS-10 and TOPS-20 running on PDP-10 and 11 mini-computers. These were purely commercial systems developed by DEC. However, the first stable, widely distributed TCP/IP stack was part of a BSD Unix distribution. When DEC killed the PDP line and the TOPS system, it was natural for DARPA funded Internet development to continue on the partially DARPA funded BSD system, especially given the large amount of networking code that BSD already contained.

Unix did not orginate as a commercial OS. It was created at Bell Labs, part of AT&T, but Bell Labs functioned more like a research institute than a market driven commercial enterprise. The original developers were Ken Thompson and Denis Ritchie, who worked on it in their spare time when they weren’t doing whatever they were supposed to be doing. Thompson and Ritchie had been assigned to the Multics project, an early time sharing system. They took advatage of Multics time sharing capabilities to devlelop an interactive version of their favorite space travel computer game. When AT&T pulled out of the Multics project, Thompson and Ritchie suddenly had no way of playing their favorite game in its new and improved form. They developed Unix as a replacement for Multics. Management at Bell Labs tended to take the position that it didn’t matter what you were doing as long as you were doing something, so eventually Unix became Thompson and Ritchie’s job. Other programmers became interested in it and Thompson started distributing the source code on tapes, allowing the other programmers to view the code and make contributions. Note that this is the definition of an open source project; anyone who gets the program also gets the source code and a license that allows them to change it. Whether they pay for the program or get it free is irrelevant.

Unix development started around 1969, and it wasn’t until 1977 that AT&T started to view it as a commercial product. In that year AT&T started licensing Unix to other vendors so that they could develop and market their own versions. AT&T didn’t start marketing its own version until about 1982. Somewhat earlier, some people in the computer science department at Berkely became interested in Unix and used the AT&T code as the basis for a new branch of Unix development. AT&T permitted this and permitted the BSD group to distribute the source code to anyone with an AT&T license. This meant that, while Unix had become a commercial product, it had not stopped being an open source product. AT&T also distributed its source code to its licensees, which is what made Lyon’s famous annotated edition of the AT&T code possible. The fact that you could not legally possess a copy of the Lyon book without also owning an AT&T Unix license does not violate the definition of open source.

AT&T and BSD went through a messy divorce in the late 1980s and early 1990s. As part of the settlement, the BSD group released one last source code tape with all the AT&T code removed. This made the code useless as an operating system, but it was released under a completely open license, and was free. A number of open source projects sprang up to replace the missing AT&T code and make the BSD OS functional again. One of these systems, FreeBSD, has acquired a reputation as a stable, robust networking platform. Microsoft doesn’t like to admit this, but much of the Win2K networking code was lifted verbatim from FreeBSD. This is perfectly legal; what pissed off the FreeBSD crowd was that Microsoft lied about it and claimed that they had written all their own networking code.

Microsoft currently distributes a large amount of open source code, most of it through its Knowledge Base site. It has no choice about this: There’s no other effective way to ensure that programmers know how to work with Microsoft’s massive, complex applications. Not only do programmers have to be able to view and learn from the Microsoft code samples, but they also need to be able to use and change them. If Microsoft were to restrict the use of the code in any way, programmers would be restricted in their ability to create custom applications, and Microsoft would have less of a market for its products. In addition to the Microsoft code, there are many other sources of open source code written in Microsoft languages. (This is true for every computer language that I know of, but I’m focusing on Microsoft because Microsoft is generally portrayed as the enemy of open source distribution.) I distribute a number of free apps based on MS Access. One of the apps contains roughly three thousand lines of code taken from open sources, primarily the Access2000 Developer’s Handbook. The app is free, but not open source, contains thousands of lines of open source code, and runs inside a closed, proprietary system. It is not unusual for Microsoft developers to do this.

According to the open source advocates, the best software is created by a core group of developers in direct communication with a community of users and less involved developers, and evolves over time in response to users needs and the programmers’ interests. The core group of programmers supplies most of the code and the users provide support and feedback. And the open source advocates are right; this does tend to produce the best software.

On the other hand, this doesn’t work well in situations where a large amount of code has to be developed by a certain deadline. If the deadline is more important than perfection, then you have to use a centralized, top-down, imperfect process.

As I’ve pointed out in a couple of places, open source doesn’t mean that you don’t have to pay for the program. There are commercial applications distributed under the GPL. The source code comes with the application, but you don’t get the application unless you pay for it. The conditions imposed by the GPL have a tendency to result in free code, but there’s no necessity in this. And there are a lot of free programs that don’t come with the source code, and are therefore not open source. As far as I know, Stallman never claimed that all software should be available at no charge, or that developers should work for free. What he claimed was that the source should be available to anyone who has a license.

My point in this overlong post is that closed, proprietary code and open source code have always existed side by side, usually without conflict, and could not exist without each other. We would not have had the rapid advances in technology that we’ve seen in computers since WWII without both the open exchange of ideas permitted by open source and the ecomonic incentives that come with proprietary source. Companies that produce proprietary code often use open source code, and are often forced to distribute open source code in order to market their proprietary code. Any one who writes a book on a proprietary language has to include open source code in the book. The current controversy between Microsoft and Linux has more to do with the tendency of human beings to divide into groups and attack each other than with any actual incompatibility between the two methods of distributing code. Microsoft, a criminal organization convicted of committing felonies and otherwise afflicted by excessive greed and a fondness for lying, is not the cause of the controversy. Richard Stallman, a basically decent if opinionated fellow who, like most of us, is just trying to figure out how to sneak back into Eden, was the first to distinguish between proprietary and open source and erroneously claim that they were in conflict. And he thereby gets all the blame.

Bob Hall