OpenSource is a style of software licensing and distribution, related to
FreeSoftware (see also
FreeSoftwareVsOpenSource).
The consumer of an open source program has the rights to do the following things to the source code:
- read it
- use it
- modify it
- distribute it
- charge money for services related to it, such as copying or support, so long as they do not infringe on the freedoms of others
Open source isn't
PublicDomain. That means there is a license involved and the license has restrictions, which can include:
- distribution must be free
- modifications must be distributed
- original authors must be acknowledged (i.e. the BerkeleyStandardDistribution license, although the advertising clause has been rescinded July 22, 1999.)
- derivatives must be similarly licensed (i.e. the GnuGeneralPublicLicense)
Licenses vary considerably on which of and how these restrictions apply. FrankHecker
? has written a clear (though long) piece that explains the variations.
Depending on the Software, there are quite a long list of licenses involved in
OpenSource:
EricRaymond, author of
TheCathedralAndTheBazaar and
TheHalloweenDocument commentary, and others have founded an organization and site to promote the concept.
Potential down- and upsides to OpenSource
- Anyone can sell the software without having to give a penny to the original programmer(s).
- However, the OpenSource programmer
- is not tied to a particular employer, so can program what makes their heart sing.
- is free to offer consulting (and special client customizing) services on the open market, like e.g. on the OpenMarket? at SourceForge, where s/he will be in a unique position.
- is free to buy domain-names that represent their programming ideas, which they develop openly in the community thus getting more exposure, than by million dollar marketing campaigns, with the consequence, to sell/rent/lease these domains for more profit, than they would earn as employees. As a real example, you can start to program StocksAtHome?, DomainsAtHome? in analogy to SetiAtHome just right now. Contact here or via the open WikiTrail 's: ExtremeOpenBusiness or the (to be created) ExtremeOpenProgramming. -- FridemarPache
- Home users aren't going to pay hundreds of dollars for an OpenBSD .ISO ,when s/he can quite legitimately get it for a free download or from a competing shop for a few bucks (though businesses are likely to purchase in order to have expert support).
- OpenExpertSupport? can be superior to ConventionalExpertSupport? (due to avoiding the hotline bottleneck)
- Not every conceivable product is available in open source. It requires that enough programmers share an itch that the user may have.
- The more OpenSource operates as an ExtremeOpenBusiness, the more likely to fill in the gaps.
- Something comparable to MicrosoftAccess, consisting of a NimbleDatabase engine, ODBC interfaces, and GUI tools.
- Part of the theory behind open source is that if it were really a big enough gap, someone would do something about it. Either this theory is wrong or this gap is not really as much of a gap as you think it is. This has already been discussed somewhat on NimbleDatabase, but I think the general attitude among users of open source software is that things like Berkeley DB and mySQL+phpMyAdmin are good enough and nimble enough (for some definition of "nimble") that there really isn't much impetus to create something that is closer to Access per se. (In fact, in the open source world there is more respect than in the commercial world for the PowerOfPlainText; in some sense, the open source hacker's idea of a nimble database is more likely to be tab-delimited text files and sed/awk/perl.)
- Those DB's listed do not fit the definition of "nimble", and plain-text may be good for inter-process or inter-system communication, but is often lousy at interacting with tabular information. How would you like to use a command-prompt-only spreadsheet, for example?
- See TableOrientedToolWishList.
- The canonical example is an ERP system. The problem with OpenSource is that only projects of interest to programmers get the attention.
- Or programs that company programmers get paid to develop, as long as the company paying them isn't one of the closed-source zealots of the world.
I'd like to clarify the difference between open source as
platform
and as a
development method (
OpenSourcePlatform) --
DafyddRees
At the risk of defining
YetAnotherMethodology, I would like to characterise
OpenSource. This list is an interpretation of my reading of
EricRaymond-s
The Cathedral and the Bazaar book
ISBN 1565927249 . The purpose of this
characterisation (I'm not a fan of PigeonHoleThinking
?, but sometimes it has
its benefits) is to try and draw parallels between
OpenSource and
ExtremeProgramming in order to define what might be understood by
CorporateOpenSource.
- Roles defined:
- Development Coordinator: someone who is responsible for maintaining a single codebase, i.e. revision controller. This person is clearly known and respected in his/her role.
- Developers: People directly involved with development of the software. Usually in close contact with the coordinator, and in fact these roles can overlap or be rotated.
- Co-Developers: Also sometimes know as Users. Offer feedback, advice and fixes, however, are not directly involved in development.
- Beta testers: Users in the sense of ClosedSource customers. I.e. find bugs and give feedback but lack the know-how/time to fix the bug directly in the code.
- Global code ownership: no single person owns the code.
- Release early & often: a short iterative cycle.
- Users can be co-developers: extending the two heads are better than one principle to many heads.
- PairVersionControl?: because of the centralised development coordinator, at least TwoSetsOfEyes check any changes in the main codebase.
- Unwritten rules: for handing over control of the codebase to someone else, and for preventing version fragmentation.
- Plan to throw one away; you will anyhow is quoted by Raymond from TheMythicalManMonth.
- Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. is quoted by Raymond from AntoineDeSaintExupery
- Lots of Feedback: from beta testers and users.
--
GerritRiessen
See also
OpenSourceProjectOrganization.
Note the above describes the Bazaar Development Process described by ESR in
TheCathedralAndTheBazaar.
FreeSoftware and
OpenSource are involved strictly with the practice of providing full access to source code to your clients without imposing onerous restrictions on its use.
[If no one objects here, I'll come back in a week or so and
ReFactor the first section to better reflect the 4 freedoms, and OSS Definition]
Homebrew and Open Source
Are the
OpenSource and
FreeSoftware communities really a software version of the
HomeBrewComputerClub? I guess the key differences are 1) software vs. hardware hacking, and 2) licenses to guarantee everyone's hacking stays in the community.
I would be really interested in thoughts on this from a former member of the
HomeBrewComputerClub (1970s/1980s Silicon Valley group that started Apple, and many other computer companies).
--
EricRunquist
As both an original Homebrew Computer Club member, and open source
proponent (I was part of the original GNU WebChat
? project in 1995, and
have enjoyed using Linux since 1994), I'd say the most stunning similarity
between Homebrew and today's Open Source movement is the spirit of freely
sharing information and ideas. At Homebrew code was often shared freely,
just as we did with schematics and information about group chip buys.
If you are interested in more detailed information about the Homebrew
Computer Club see
http://www.bambi.net/bob/homebrew.html
-- BobLash
?
Websites involved in Open Source Dev:
People involved in Open Source:
RichardStallman and the
FreeSoftwareFoundation reject "Open Source". They promote
FreeSoftware, which is philosophically distinct (and predates OS by about a decade). However,
FreeSoftware is often considered to be a subset of the
OpenSource movement.
It's suprising that
MicroSoft has not using a
MondeGreen for
OpenSource as
open sores within it's documents.
In UserFriendly, Illiad used this represent industry ridicule of OpenSource in early 1999; two years later, he played on his earlier joke by referring to MicroSoft's SharedSource? plan as 'shared sores'.
Question from someone else: is MicrosoftCorporation into SponsoredOpenSource these days?
See also:
LinuxCommunity,
FreeSoftware,
SourceForScience,
TheDumbingDownOfProgramming,
FundingOpenSource,
OpenSourceAsAgileProcess
There's also Castor, which is a java-based project that generates source for java objects that represent XML data files.
Why doesn't someone create a Wiki for Source Code examples? Or, if there is one, where is it?
You mean, like CodePedia and MassMind?
Are there any others?
AnswerMe Are there any good examples of failed open source projects, what happened, and how things could have been different (with or without open source development)? I have heard many good things about different aspects of the open source paradigm, but, I'd really like to know more about the down side of open source development. That way, I can have a more rounded understanding of the pros and cons of each. Thanks. -
IntaekLim
Specific examples are what you asked for, and I hope someone more informed provides some.
Broad conclusions, however, need not anecdotes, but a broad base of evidence. Good attempts to derive lessons from well designed studies:
The Institute for Software Research at the University of California at Irvine has a large body of empirically-based research available on its Open Source Software Development Project's homepage at
http://www.isr.uci.edu/research-open-source.html.
The International Institute of Infonomics, University of Maastricht, Netherlands published their Free/Libre and Open Source Software: Survey and Study (FLOSS Study) in June 2002, available online at
http://www.infonomics.nl/FLOSS/report/.
Both resources might help you sharpen your question, as different criteria and metrics for measuring 'success' and 'failure' make comparison of open vs. closed software development problematic at best. We can't see inside closed shops as easily as we can browse Source Forge (see Part V of FLOSS Study: "Source Code Survey" for an attempt to glean information from code repositories). We have no comparable way of learning closed shops' true rate of 'success' on any conceivable metric; the best proxy would be a sample taken to be representative of the entire population of closed shops, but even then, the ones that refused to participate in such a study might well differ systematically from the norm. Failures certainly may make it to market, but they are not generally advertised as failures. For that matter, nominal open source projects that are failures on commercial and conventional open source criteria alike may well be counted as successful by their primary developers, for instance, student projects. These would need to be somehow eliminated from any code survey. In sum, like most software quality or programmer productivity questions, this is a very difficult question to answer empirically.
The conventional wisdom seems to be that systems tools or infrastructure software attracts more &/or more talented developers to open source projects than application or enduser software, making the latter more prone to failure in open source development (see examples above). How would one operationalize these variables in order to substantiate or falsify this perception? I'd like to know myself. --
PaulWilson
Contrast with
ProprietarySource,
ClosedSource.
WikiTrailmark:
http://trailfire.com/fridemar/marks/224368 (which extracts and comments and links quotes that are relevant to ExtremeOpenProgramming and ExtremeOpenBusiness in the context of OpenSource.)
CategoryOpenSource