• Welcome to Valhalla Legends Archive.
 

Open Source

Started by iago, June 15, 2004, 08:01 PM

Previous topic - Next topic

iago

I'm starting a new thread since the other one was going offtopic.

Anyway, I was reading an ebook, and they discussed open source:

Quote1 What Is Free Software?

Traditional capitalism is based on the idea of limited supply; however, information has become a commodity in itself and is never in short supply. In fact, the ubiquity of computers and the Internet has made it possible to replicate any information effortlessly and without bounds. Even so, we still treat software as if it were a tangible object in short supply. If you copy software from somebody, you re legally stealing it. The software industry has attempted to extend this metaphor into the information economy, artificially re-creating the economics of limited supply by creating software licenses.

There s nothing wrong with making a living as a programmer or as a software company employee or executive. The authors of this book get part of their incomes as programmers. However, it s nonsensical to use this profit-model. Imagine a science-fiction device that allows any sort of food or physical object to be infinitely duplicated. If somebody then tried to sell you a tire for your car, why in the world would you buy it? You could just throw your friend s tire into the duplicator! However, you might want to pay somebody to design a new tire for you or perhaps to install the tire on your car. Or to help you when some other part of your car breaks, you might want to buy a warranty for future support. Or maybe just hire a personal mechanic.

Similarly, in a world where all software is in the public domain and infinitely reproducible, programmers and software companies are able to make a good living not by restricting the flow of software, but by providing a service. Users pay the programmers and companies to design and write new public domain software, as well as install, maintain, customize, troubleshoot, and teach others about it. A programmer or company sells labor, not products much like a mechanic, plumber, or electrician.

Getting back to the original question, then: Free means that the public domain software comes with freedom its users have the freedom to use it however they wish, including copying it, modifying it, and selling it.

A particular company that is in the software business either directly, as an independent software vendor (ISV), or indirectly, producing software as a key component of other goods or services, faces several challenges. Among these challenges might be:
* Continuing to create new products and bring in new incremental revenue
* Improving new product quality at first release
* Doing a better job of sustaining engineering in supporting current and older releases while still driving innovation in new releases
* More effectively recruiting third-party developer and integrator support for the company s products and platform
* Motivating and retaining current employees and recruiting and energizing the next generation of employees

These challenges are interconnected for two reasons. First, most of them are functions of constrained resources: Few companies have enough people, money, or time to do everything that needs doing, especially when competing against larger companies with greater resources. Second, all companies like this have at least one available strategy that might help address all these issues together, turning some (or in exceptional cases even all) of your software products into  open source  products.

Open Source Software

You ve no doubt read about Netscape s 1999 release of the source code for Netscape Communicator. You might also have heard about earlier open source projects such as the Linux operating system kernel or have read papers such as Eric Raymond s  The Cathedral and the Bazaar  (www.tuxedo.org/~esr/writings/cathedral-bazaar/) that make a case that open source development within an extended developer community results in better software. In this book, we discuss how a commercial company or an organization of any kind can build a business or extend an existing business through the creation and distribution of open source software  and why it s a good idea. In other words, we show you how to set up shop in the bazaar.

Potentially, moving to open source for a product can provide better value to your customers, including (in particular) allowing your customers or third parties to improve that product through bug fixes and product enhancements. In this way, you can create better and more reliable products that are likely to more truly reflect your customers  requirements.  

However, the real benefit of building a business on open source software is to provide greater value to your customers than your competitors can, and ultimately to turn that increased value into increased revenue and profits for your company. In the traditional software business model, your company provides all (or almost all) of the value to customers, and you realize revenues and profits in return for that value through traditional software license fees. In an open source business model, you are not the only source of much of the value provided to customers; other developers who are attracted to working on your open source products will help augment your resources rather than your competitors . These outside developers might be motivated by the prospect of working with software that solves important problems for them and for others and by the possibility of future gain in providing related services and creating related products. They might also be motivated by the opportunity to increase their own knowledge or by the ego satisfaction of building an enhanced reputation among their peers.

Thus, a significant part of your potential success depends on the work of others who work  for free  that is, open source developers who contribute their work to your company and to the developer community at large without demanding or receiving any money or other tangible payment in return. However, open source developers will not (and should not) do this work unless you treat them fairly. This is in part a function of your company s attitudes and actions toward developers working with its products, but it is also formalized in the company s choice of an open source license, specifying the terms and conditions under which the company s open source products can be used, modified, and redistributed.

- Open Source Development with CVS 2ND EDITION
by Karl Fogel and Moshe Bar

<edit> added credit to the end, and a minor formatting change
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


mynameistmp

Reading up on CVS or open source ?
"This idea is so odd, it is hard to know where to begin in challenging it." - Martin Barker, British scholar

hismajesty

Quote from: mynameistmp on June 16, 2004, 02:04 AM
Reading up on CVS or open source ?

It's in his /home/iago/documents/cvs folder so I'm assuming cvs.

iago

#3
Quote from: mynameistmp on June 16, 2004, 02:04 AM
Reading up on CVS or open source ?

It's actually a book about how CVS applies to Open Source.  I read it with the intention to learn about CVS, but it turns out to have a lot of good stuff about Open Source in it, too.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


iago

Here's another good section:

QuoteWhat Makes It All Tick?
Until now, we've focused on the advantages of free software for users. However, developers
still face an interesting choice when they consider free software. As long as copyright law
exists in its current form, it will probably always be more lucrative for a programmer to work
on proprietary code—the profits can be enormous (even after illegal sharing is taken into
account) when each running copy of a popular program is paid for individually. If you want
to get rich, your course is clear: Write a useful piece of closed-source software, get it noticed,
and wait for Microsoft to make an offer for your company.

Yet somehow, free software projects still manage to find programmers. There are probably as
many different explanations for this as there are people writing free code. Nevertheless, if
you spend enough time watching mailing lists and developer discussion groups, a few core
reasons become apparent: necessity, community, glory, and money—not necessarily in that
order and certainly not mutually exclusive.

Necessity

Eric Raymond hypothesizes that the first reason, necessity (the need to "scratch an itch"), is
the chief reason why most free software projects get started at all. If you just want a problem
solved, once and forever, and you aren't looking to bring in any revenue from the code
(aside from the time you'll save by using it), then it makes a lot of sense to release your
program under a free license. If you're lucky, your solution will turn out to be useful to other
people, and they'll help you maintain it. Call it the Kropotkin Factor—sometimes, cooperation
is simply the most winning strategy.

Community

Our favorite reason, though, is actually the second: community. The sheer pleasure of working
in partnership with a group of committed developers is a strong motivation in itself. The
fact that little or no money is involved merely attests to the strength of the group's desire to
make the program work, and the presence of collaborators also confirms that the work is
valuable outside one's own narrow situation. The educational value of working with a group
of experienced programmers should not be discounted, either. We've certainly learned more
about programming from reading freely available code, following online discussions about
the code, and asking questions, than from any book or classroom. Many active developers of
free software would probably say the same thing. Most seem quite conscious that they are
participating in a kind of informal, peer-to-peer university and will happily explain things to a newcomer, as long as they feel the newcomer shows promise of contributing to the code
base eventually.

Glory

Meanwhile, in the back of everyone's mind (well, not yours or ours, of course!), is glory—
the fame that comes from occupying a prominent position on the developer team of a widely
used free program. Most programmers with even a peripheral involvement in free software
are likely to recognize the names Linus Torvalds and Alan Cox (for work on the Linux
kernel), Brian Behlendorf (of the Apache Web Server team), and Larry Wall (inventor of,
among other things, the popular Perl programming language). Raw self-aggrandizement
might not be the most attractive motive, but it can be powerful and if properly harnessed, it
can bring about a lot of useful code. Happily, in the free software culture, you can achieve
glory only by sharing the benefits of your work rather than hiding them. Note that there is
often no official (that is, legal) recognition of what constitutes a "prominent position" in a
group of developers. People acquire influence by writing good code, finding and fixing bugs,
and consistently contributing constructively in public forums. Such an unregulated system
might seem open to exploitation but, in practice, attempts to steal credit don't succeed—
too many people are too close to the code to be fooled by any false claims. A developer's
influence in the community is directly proportional to the frequency and usefulness of her
contributions, and usually everyone involved knows this.

One side effect is an uncommon scrupulousness about giving credit where credit is due.
You've probably noticed that we're being careful to mention developers' names when talking
about specific pieces of software. Giving credit by name is a common practice in the free
software world, and it makes sense. Because the work is often done for little or no pay, the
possibility that contributions will be recognized and reputations correspondingly enhanced
makes the work attractive. Fortunately, another side effect of using CVS (or any version
control system) is that the precise extent of every developer's modifications is recorded in
the change history, which can be retrieved and examined by anyone at any time.

Money

Finally, there is money. People have begun to find ways to get paid to work on free software.
In many cases, the wages are considerably more than a bare living, and even if not quite as
lucrative as, say, stock options at a proprietary software company, the pleasure of seeing
one's code widely distributed is often enough to compensate for a little income foregone.
One way for people to make money is to sell services centered on a particular code base. The
software might be free, but expertise is still in limited supply. A common strategy is to specialize
in knowing everything there is to know about a particular free tool or suite of tools and
offer technical support, customizations, and training. Often, the company also contributes to
the maintenance of the program (and no wonder, because it's in the company's interest to
ensure that the code remains healthy and free of bitrot). More recently, companies have begun to specialize in packaging particular distributions of free software and trading on the
"brand name" they earn through making reliable bundles. Oddly enough, this actually seems
to work. Red Hat Software has been profitably selling Linux distributions on CD-ROM for
several years, despite the fact that anyone is free to copy its CDs and resell them or even
download the software directly from Red Hat. Apparently, the reliability of its distribution
is important enough to consumers that people will pay a little more for the extra reassurance
of getting it on CD-ROM directly from Red Hat instead of from a reseller.

Also, hardware companies sometimes devote resources to guaranteeing that popular free
applications run on their machines. If a company formerly offered proprietary software as a
sideline to its hardware and service businesses, it might now ship free software that it has
tested and perhaps modified to perform better on its hardware. You might think that the
company would want to keep its modifications secret (were that permitted by the software's
license in the first place), but it turns out to be entirely to the company's advantage to
release any changes back into common distribution. By doing so, the company avoids having
to shoulder the entire maintenance burden itself. By releasing the source, it has
empowered its users to give feedback on whether the program runs well on the hardware.
(The goodwill thus gained among its customers might also be a factor.) Because it isn't in
the software business anyway, the hardware company is not looking for a direct return on
investment in that area.
The arrival of big money into the formerly pure free software world has not been seen
universally as a positive development and, in fact, has led to some rather heated debate
about the ultimate purpose of free software. To attempt to summarize that debate is like
diving into shark-infested waters, indeed; however, it's a significant issue right now, so we'll
don shark repellent and do our best. The issue arose because free software has been so
technically successful. Stable, bug-free software—whatever its origins—is something any
business wants to offer its clients, as long as doing so doesn't conflict with any other goals
(such as increasing sales of one's own closed-source software). In the for-profit consulting
world, the innate quality of the software, in a purely technical sense, is the only concern. If
the best product is free software, so be it; if it's something else, use that instead.

The terms of redistribution are not a major factor in the decision to use the software, except
in how that affects one's ability to use it. Thus, some people are for free software simply
because it leads to better code, which can also imply reduced hassle and higher profits. For
others, however, cooperation itself is the goal. Richard Stallman is one of the most forceful
evangelists for this position (for him, sharing information is a moral crusade), but he is not
alone in viewing profit-driven development with distrust.
This'll make an interesting test for broken AV:
QuoteX5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*