Software Development, Marketing, Licensing and Distribution

Software Development

Software development is the process by which software is created. Fifty years ago software development was a solitary activity in which one individual worked on one project using intuition. Today software development is done by teams of individuals working together using specific techniques and methodologies.

Software Licensing

An end user is an individual (or organization) which uses software. A software license is a legal document governing the distribution and use of software. Typically a software license grants an end user the right to use one (or more) copies of a software item under certain circumstances that would otherwise violate the software owners' rights under copyright law. Proprietary software is software that is owned by its publisher but which is licensed for use by the end user. For example, Microsoft owns MS Word. If you buy a Word, what you are actually doing is buying a disk (or download) and a license to use the software under the rules that Microsoft grants to you. In general, the license gives you the right to install the software on one (or more) computers and use it. However you do not own the software so you may not give or sell it to someone else for their use except under circumstances outlined in the End User License Agreement (EULA). Open source software gives non-exclusive ownership of the software to the individual who obtains the software legally. Open source software essentially waives certain rights of the copyright holder to the end user. There is an EULA with open source software, but the end user doesn't have to accept it. If the end user does however accept it, additional rights are typically granted that the end user would not otherwise have.

Software licenses also typically contain provisions about liability and warranty. For example the typical software license for a program capable of ripping songs from a CD and converting them to MP3 files will typically grant the right to use these features to you only if you have a legal copy of the CD being ripped. Thus if someone uses a program to pirate music the software publisher will claim in the EULA that the crime is the responsibility of the end user and not the publisher. The Digital Millennium Copyright Act addresses the manufacture of software of this type.

Software Marketing and Distribution Methods

Software can be distributed by a variety of means.

purchase at retail
an individual or organization purchases software from a distributor or manufacturer for individual use. Software that you have purchased for your computer probably fits under this category.
site licensing
an organization purchases software usually from a manufacturer with the right to install it on a specific number of machines under specific circumstances. The University has a license with Microsoft to install copies of MS Office on machines in the labs throughout campus.
shareware
an individual downloads a copy of software and installs it on a machine and tries it out under limited circumstances. Sometimes these limitations are a period of time (normally 15 or 30 days or perhaps 25 uses). At the end of this trial, the license requires the end user to delete the software from the computer or pay for the software. Other limitations that may occur is that the software is crippled so that it lacks full functionality. Perhaps it is one level of a game or a database program that can only hold a few records. The great advantage of shareware is that the end user has an opportunity to give the software an extended test to see if it performs well enough to be worth the cost. The end user can also make sure that the software is compatible with the computer it is being used on.
freeware
is just like shareware except that there is obligation for the end user to pay for it as long as it is used according to the license. Core FTP (that is used for uploading files to your Web site) is free for non-commercial use. Other freeware programs have no particular obligations. For example, Adobe Acrobat Reader is totally free for use to anyone with no restrictions (as far as I am aware).
 

Further Info

Wikipedia article on software development process
Wikipedia article on programming paradigms
Wikipedia article on computer programming
Wikipedia article on programming languages
Wikipedia article on software license
Wikipedia Shareware
Wikipedia Freeware