text:
FOSS Licensing/Software and Copyright

Extension of Copyright Law to Software
Since 1980, it has become an international trend for copyright to be applied to computer software. The WIPO Copyright Treaty (1996) also states that computer software should be regulated by copyright law.

Copyrightability of the Source Code and the Object Code
Software can be expressed in both source code and object code. However, TRIPs states that software copyright applies to both forms. In practice, proprietary software companies tend to release their product only in object code, and keep the source code of the product as their trade secret.

As mentioned earlier, under copyright law only the expression of ideas but not the ideas themselves can be copyrighted. For example, with a literary work or a music composition, although the form of the work is copyrighted, other people can use the ideas expressed in the work as inspiration for their new works. With software, ideas can only be perceived by reading the source code. Since the source code is not often accessible, in effect the proprietary company is able to withhold the ideas that underpin the software. This contravenes the principle that only form and not the idea should be exclusively owned – a principle designed to maintain the balance between private and public interests.

Users’ Rights Denied in Proprietary Licensing Models
The revision of the US copyright law in 1976 and shifts in the information technology (IT) industry in the 1970s changed the practices of software distribution. Before that, users received both source and binary object codes. Today, under proprietary license models, proprietary software companies usually make the source code inaccessible to ensure and maximize profit. Studying a proprietary software is usually explicitly prohibited. For example, even in licenses for developers, for example, Microsoft End User Agreement and Microsoft Developer Network Subscription, reverse-engineering, decompilation and disassembly are not allowed except and only to the extent that it is expressly permitted by the applicable law.

For end-users, proprietary licenses usually allow only one copy of the software for each computer. That means, if the user has one desktop and one laptop, or two desktops, she will have to purchase two copies if she wants to run the program legally on both machines. If there are defects in the program that she has legally purchased, her only recourse is to contact the proprietary company regarding these defects. She will not be able to legally debug the program herself, or use unofficial patches, since modification of the program is not allowed. In effect, users of proprietary software are completely dependent upon the vendor.

Under the traditional proprietary licensing model, end-users were not able to protect their interest in a cooperative manner. The FOSS movement has contributed to the positive transformation of this situation. The Free Software Foundation (FSF), which was founded in 1985, is dedicated to promoting users’ rights to use, study, copy, modify and/or redistribute computer programs. These are the rights that are not usually granted to end-users in the licenses of proprietary software.

title: FOSS Licensing/Software and Copyright


text:
FOSS Licensing/How is FOSS Different from Proprietary Software

The development of FOSS may be considered a reaction of the community of software developers to existing legal definitions of software copyright. For both free software and open source developers, access to the source code is a prerequisite to exercise the rights bundled in copyright, such as the right to make copies of a work, to distribute these copies, and to prepare derivative works.

Transition in IT Industry and Legal Institutions
In the 1970s, developments in legal institutions and the IT industry stimulated the formation of the free software movement in the US. For one thing, the US copyright law went through a major revision in 1976, and the question of whether software is copyrightable was put on the table under relentless pressure from IT companies. Second, while software used to be bundled with hardware in the hardware market, the IT industry began to consider the software itself as a separate product. At this point, IT companies began to recruit more developers from research institutes to develop software, and the companies asked these individuals to sign confidentiality agreements upon recruitment.

Richard Stallman on a Stark Moral Decision
Prior to the above transition, the common practice in laboratories was to share sources and copies. For Richard Stallman (RMS) who worked at the Massachusetts Institute of Technology (MIT) laboratory at the time, the change undermined the community that honoured sharing and the ethic of “helping your neighbours”. For Stallman, a talented programmer who could easily sign a contract and a confidentiality agreement with a proprietary company in exchange for a well-paid salary, the “stark moral decision” was between private gain for himself (and proprietary software companies) or the survival and sustainability of the community of software developers. He chose the latter and began the Free Software movement.

Free Software Defined
Free software is about granting users the freedom to run, copy, distribute, study, change and improve the software. Free software is any software that provided the following freedoms. The freedom to:

 * 1) Run the program, for any purpose (freedom 0).
 * 2) Study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
 * 3) Redistribute copies so you can help your neighbour (freedom 2).
 * 4) Improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

Apart from emphasizing access to the source code, the Free Software Definition also stipulates the user’s right to copy, to distribute the copy, to modify the software, and to distribute the derivative work of a copyrighted work. All these rights are granted exclusively to the copyright holder under copyright law.

The GNU Project and the Free Software Foundation
It is not sufficient to stipulate the rights of users or non-copyright holders. It is also important to have a computing environment in which these rights can be exercised. Thus, the GNU project was launched in 1984 to develop the GNU system, a complete UNIX-style free operating system. Today, the GNU project also includes other software applications.

In 1985, the Free Software Foundation (FSF) was established to promote the idea of free software. It promotes the development and use of free software not only by distributing free software, but also by encouraging the creation of a coherent system, the GNU operating system, and providing alternative solutions to proprietary software. For more information, see http://www.gnu.org/gnu/thegnuproject.html.

GNU General Public License
Under existing legal norms, once a work is created, copyright protection is granted exclusively to the copyright holder. Without an explicit expression, it is assumed that the copyright holder claims all the rights granted to her. The law burdens the copyright holder with explicit expression if she wishes to relinquish some or all rights granted to her.

Some people may not want to exercise all of the rights granted to them. However, they may not know how to make such an explicit expression. The GNU General Public License (GNU GPL) serves as a legal tool to help people to do so.

GNU GPL is a license. Unlike proprietary licenses, it grants users the rights that the law grants exclusively to the copyright holder. These include the right to access the source code; to run the program; to make copies and redistribute the copies; and to modify the program and distribute the modified program.

On the other hand, although GNU GPL grants the user many rights and freedoms to use the software, it also sets certain limitations on those who want to distribute the program or make and distribute derivative works to ensure that the software and its derivations will remain free.

When a work is licensed under GNU GPL, it means that its author still claims copyright but adopts a different license as an explicit expression to allow the public to have greater freedom to use her work than what the copyright law allows by default.

Open Source Software
While free software advocates consider the four freedoms to be a moral issue, promoters of open source software focus more on the technical values and are, consequently, more business-friendly. The Open Source Initiative (OSI) operates as an organization to promote the open source movement by managing and promoting the Open Source Definition (OSD) and its certification mark for open source licenses and products.

Open Source Definition
The OSD is a revision of a policy document of the Debian GNU/Linux Distribution that served to clarify which licenses are free licenses. The OSI explains the basic idea of Open Source as:

 * The basic idea behind open source is very simple: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs.

The OSD echoes the rights stated in the Free Software Definition, including the users’ access to the sourcecode (Section 2), the rights of users to copy the work and distribute the copies (Section 1), and the right to modify the work and distribute derivative works (Section 3).

The OSD also has several non-discrimination clauses (Sections 5, 6, 8, 9 and 10). Though not stated in the same way, these non-discriminatory ideas are also found in the Free Software Definition. Section 7 of the OSD aims to prevent the source code from being withheld by indirect means such as by requiring non-disclosure agreements. However, the emphasis on the integrity of the author’s source code and the requirements for the distribution of modified works (Section 4) are not explicitly stated in the Free Software Definition. For details, see http://www.opensource.org/docs/definition.php.

OSI-approved Licenses
The OSI certifies and recognizes licenses as open source by following certain procedures. The certification is made upon request, and newly approved open source licenses are added to a list of open source licenses maintained by the OSI at http://www.opensource.org/licenses.

The number of OSI-approved licenses has been growing with the recent FOSS development. Some licenses are derived from the FOSS community: the GNU GPL, the LGPL, the PHP License and the NetHack General Public License. Those from academic/research institutes include the NASA Open Source Agreement, the MIT License and the University of Illinois/NCSA Open Source License. Some proprietary companies that have adopted FOSS as part of their strategies have also developed FOSS licenses including the Apple Public License, the Eclipse Public License, the Qt Public License and the Mozilla Public License. Actually, a large proportion of OSI-approved licenses are developed by for-profit companies.

Free or Restrictive?
Although the Free Software Definition and the Open Source Definition have much in common, they do differ in rhetoric, which reflects their differences in philosophy.

For example, some people may describe the GNU GPL and the LGPL as “highly restrictive” because the FSF set many restrictions to make sure that free software and their derivative works stay free. However, for the FSF, these restrictions are prerequisites for a healthy environment for free software.

The FSF also maintains a list of free software licenses and non-free software licenses. Although the FSF may sometimes describe these relatively simple licenses as “permissive”, it never qualifies their more complicated ones as “restrictive”.

Though there are philosophical differences, in most cases, the FSF and the OSI agree on the classification of FOSS and non-FOSS licenses. Twenty-six OSI-approved licenses have been analysed by the FSF, and only two of these, the Original Artistic License and the Reciprocal Public License, are regarded as non-free licenses.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
FOSS Licensing/How to Make the Source Free or Open

Under current legal norms, software is protected by copyright law. Therefore, the FOSS movement has developed many different FOSS licenses to enable software developers to easily state that they grant their users some rights that copyright law grants exclusively to them. FOSS licenses also serve as agreements among FOSS developer communities.

There are many FOSS licenses, and their characteristics differ. In a later section of this primer, we will focus on three major licenses: the GNU GPL, the LGPL and the BSD License. They not only represent three very different styles of FOSS licensing but are also the most pervasively adopted licenses. Table 1 helps us to get a quick and general overview.

The FOSS licenses listed in Table 1 have the following common features:

However, these FOSS licenses differ from each other in how these rights can be exercised. For one, although authors are always required to provide access to the source code, whether redistributors are also required to provide such access varies from one license to another. For example, when redistributing a BSD-ed program, one is not required to provide the source code.
 * The source code of the original work is open.
 * Making copies of the original work is allowed.
 * Distribution of the original work is allowed. A copyright notice should be attached to all distributions.
 * The license grant is non-exclusive, global, royalty-free, and for all purposes.
 * Warranty is disclaimed.

Even for licenses that require redistributors to provide the source code, there are different regulations regarding the distribution fee the redistributors can collect. The GNU GPL and the LGPL are particularly detailed about when one can collect a fee higher than the physical transmission fee. This is because the GNU GPL and the LGPL offer redistributors various ways to distribute the program, with or without the source code, while simultaneously ensuring that redistributions remain free software. An individual can sell free software for any price she wishes, since the market would help to keep the price within a reasonable range. But if a package is sold without the source code, the fee collected for the distribution of the source code itself cannot exceed the cost of physical transmission.

Clauses on derivative works vary widely. Although access to the source code of original works is a requirement, access to the source code of derivative works might not be. And even if a FOSS license requires the source code of derivative works to be open, it may not require them to be licensed under exactly the same license as the original work. For example, although a derivative work of a GPL-ed program also has to be licensed under the GNU GPL, a derivative work of a BSD-ed program does not have to be licensed under the BSD license. As a matter of fact, a derivative work of a BSD-ed program does not even have to be distributed along with source code.

FOSS licenses also differ on the possibility of allowing a FOSS program to be combined with proprietary programs. When combining different programs into a larger project, it is quite inevitable that the larger project, while embracing all or part of the source code of the programs combined, becomes the derivative work of all of the combined programs. For example, project ABC is combined with a GPL-ed program A, a BSD program B and a proprietary program C, and has source code from all three programs. As a derivative work of program B, project ABC need not be licensed under the BSD License or even required to open its source. However, as a derivative work of program A, project ABC is required to be licensed under the GNU GPL.

Thus, the developer will have no choice but to license the whole project ABC under the GNU GPL, or find an alternative to program A, especially if she wishes to make it a proprietary software project.

This is why the GNU GPL is considered by proprietary companies to have the so-called “viral” effect, and it is regarded as unfriendly to the proprietary software development model. But the GNU GPL is designed to serve the interests of the free software community rather than the proprietary business sector. The FSF has also designed the LGPL to encourage greater use of free libraries even in proprietary software projects.

The three typical FOSS licenses – the GNU GPL, the LGPL and the BSD – are explained further below.

GNU General Public License
The GNU GPL is the classic free software license. It is also the most well-known and the most widely adopted among all FOSS licenses. The GNU GPL was developed to fulfil the freedoms defined by the Free Software Movement. It is not just a license, but is also an expression of the basic ideas behind the movement

Copyleft

 * The idea
 * The way the GNU GPL guarantees freedom is also called “copyleft”. While the traditional proprietary model says “copyright, all rights reserved”, the GNU GPL says “copyleft, all rights reversed”. Copyleft is not just about making the original work free when the copyright holder releases it, but also about keeping it free when it is being further distributed and modified. Although there is no limitation when derivative works are created only for internal use, when they are being distributed to the public, copyleft is applied to make sure that derivative works are as free as the original work.

 * How it works
 * Copyleft prevents free software from being turned into proprietary software. It uses copyright law to achieve the exact opposite of its usual purpose. Instead of being the means of privatizing software, in copyleft licenses the rights granted to authors are reversed to keep the software free.

Unlike works in the public domain that everyone is free to exploit, a GPL-ed work or a copyleft-ed work is copyrighted. The author of the GPL-ed work does not give up her rights as a copyright holder, but exercises these rights in a way different from a traditional copyright holder.

If authors who want to make their software free simply disclaim their rights as copyright holders and release their work into the public domain, it will expose the work to the danger of being privatized and closed again. Instead, to keep their works and their derivates free, authors must claim their rights, and with the exclusive rights granted to them, they include the copyleft clause so as to regulate the ways other people can make use of their work. By licensing their work under the GNU GPL, authors are allowing users to have the rights stipulated by the Free Software Movement.

Also by licensing under the GNU GPL, authors require people who wish to distribute the program and developers who wish to modify the work and distribute the modified works, to take on some responsibility in keeping derivatives as free as the original work.

Major Terms and Conditions of GNU GPL

 * User’s freedoms
 * When a program is licensed under the GNU GPL, besides the freedom to access the source code, users are also free to:

 * 1) Run the program (Section 0).
 * 2) Make copies of the program (Section 1).
 * 3) Redistribute the program, even for commercial purposes, provided an appropriate copyright notice and disclaimer of warranty are retained (Section 1). Redistribution in the object code or executable form is also possible, so long as the source code is available for all recipients (Section 3).
 * 4) Prepare and distribute derivative works of the program, provided the derivative works are also licensed to all third parties under the GNU GPL (Section 2).
 * No warranty
 * Though the distribution of the work can be commercial, the work itself is licensed free of charge. Therefore, there is no warranty for GPL-ed software (Sections 11, 12). The distributor could choose to offer warranty protection in exchange for a fee (Section 1).

 * License issued directly from the author
 * The work is not sub-licensable. When a program is redistributed, recipients still receive the license from the original licensor. Redistributors may not impose any further restrictions on recipients' exercise of the rights granted in the GNU GPL (Section 6).

 * Acceptance and termination
 * By the act of modifying or distributing the GPL-ed program, a person indicates his acceptance of the license (Section 5). The license grant is irrevocable but when the licensee violates the license, the rights granted will be terminated automatically. However, the rights of those who received the copy of the program from her will not be affected (since they received the license from the original licensor) so long as they remain in full compliance with the license (Section 4).

 * Co-exist with other legal obligations?
 * The GNU GPL does not concede to any contradictory conditions that are imposed on the recipients. If compliance with the license is not possible as a consequence of a court judgment, allegation of patent infringement or any other reason, then the recipient may not redistribute the program at all (Section 7). A GPL-ed program cannot be incorporated into a proprietary program, or linked with a proprietary library.

The full GNU GPL text can be found at http://www.fsf.org/licenses/gpl.txt

The FSF also maintains a thorough FAQ on the GNU GPL which can be accessed at http://www.gnu.org/licenses/gpl-faq.html

GNU Lesser General Public License
Apart from the GNU GPL, the FSF offers a special copyleft license for libraries. The GNU Lesser General Public License (LGPL) permits LGPL-ed libraries to be linked with proprietary software.

This exception is to serve different situations. It can be a strategic decision to encourage the development of proprietary applications on the GNU system. For a free library whose features may be largely replaced by other proprietary libraries, releasing it under the LGPL rather than the GNU GPL can encourage its wider use, and thus make possible more improvements on it. With a larger body of free software users, there would also be wider support for free software in general.

However, the FSF still encourages people to use the GNU GPL for their libraries rather than the LGPL, especially for those libraries that have a significant number of unique capabilities. This is because people who are interested in utilizing such GPL-ed libraries will have to release their modules as GPL-ed software too, resulting in more useful modules and programs available in the free software environment.

Major Terms and Conditions of LGPL
The LGPL is identical to the GNU GPL in many ways, including clauses that disclaim warranty, declare that the license is issued directly from the author, and specify when the license is applied and terminated. Also, other legal obligations applied upon users are the same as those for the GNU GPL.

On users’rights, the LGPL distinguishes two different kinds of situations when one uses a library. A “work based on the Library” means either the Library itself or any derivative work under copyright law (Section 0), while a“work that uses the Library” means a program that contains no derivative of any portion of the Library but is designed to work with the Library by being compiled or linked with it (Section 5).

 * Works Based on the Library
 * In the case of a “work that uses the Library”, i.e., the Library itself and its derivative works, the terms are very similar to those in the GNU GPL.

 * User’s Freedoms
 * Run the program (Section 0).
 * Make copies of the program (Section 1).
 * Redistribute the program, even for commercial purposes, provided an appropriate copyright notice and disclaimer of warranty are retained (Section 1). Redistribution in the object code or executable form is also possible, so long as the source code is available for all recipients (Section 4).
 * Prepare and distribute derivative works of the program, provided the derivative works are also licensed to all third parties under the LGPL (Section 2c).
 * In addition, one may opt to apply the terms of the GNU GPL instead of the LGPL to a given copy of the LGPL-ed library, especially when one is incorporating part of the code into a program that is not a library (Section 3).

 * Works that use the Library
 * In the case of a “work that uses the Library,” the work itself is NOT subject to the LGPL. But when linking the “work that uses the Library” with the Library, an executable version that is a derivative work of the Library would be created, and such a version is covered by the LGPL (Section 5).

Although the LGPL allows authors to distribute the object code of executables (Section 5) and license these under terms of their choice, it is also required that those terms permit modification of the work for the customer’s own use and reverse engineering. When distributing executables, the author has a choice either to distribute the Library together, provided the source code of the Library is made available in those ways similar to the distribution of GPL-ed programs, or not to distribute the Library together but only use a suitable shared library mechanism to link with the Library (Section 6).

By creating this category, the LGPL provides a way for LGPL-ed libraries to be used in proprietary programs. The full LGPL text can be found at http://www.fsf.org/licenses/lgpl.txt.

BSD Style Licenses
The Berkeley Software Distribution (BSD) License was first used for the Berkeley Software Distribution, a version of Unix developed in the University of California at Berkeley. It is easy to follow the BSD License template to create one’s own license by changing the values of owner, organization and year, which appear in the copyright notice and the license. Unlike the GNU GPL and the LGPL, BSD style licenses are not copyleft licenses. A BSD License allows people to freely distribute and modify the original work, but it does not require that the modified works be as free as the original work. BSD style licenses are relatively simple and have only limited restrictions on the use of the software.

 * User’s Freedoms
 * Make copies and redistribute the program, with either its source code or its binary code. The distributor is not obliged to provide the source code.
 * Prepare derivative works and distribute them, either with their source code or binary code. The author is free to choose either FOSS or proprietary licenses for derivative works.
 * Incorporate the program into proprietary software.

The original BSD License (four-clause BSD) has an advertising clause. The revised BSD License (three-clause BSD) is very similar to the MIT License, but the latter does not have the “no endorsement for derivative works” clause. There is also the two-clause BSD, which has taken away the endorsement clause and is most similar to the MIT License.

Multiple Licensing
It is important to note that a work can be licensed under more than one license. The choice of license reflects the type of relationship that the author wishes to have with the user of the copyrighted work. Since there can be more than one kind of user, and more than one possible relationship, the copyright holder is entitled to choose different kinds of licenses for different situations.

Take OpenOffice as an example. OpenOffice is dual-licensed under the GNU GPL and the Sun Industrial Standards Source License (SISSL). Although OpenOffice states clearly that users are encouraged to use the GNU GPL to participate fully in the OpenOffice community, SISSL is provided as an alternative for developers and companies who are not able to use the GNU GPL. , MySQL is another example. MySQL offers both the GNU GPL and a commercial license. Organizations that do not want to release their applications under the GNU GPL can choose to use MySQL under the MySQL Commercial License.

GNU Free Documentation License (GNU FDL)
Good documentation and manuals are extremely important for FOSS programs. When they are not licensed as free/open, it is difficult for people to make complete use of relevant FOSS programs.

Although the GNU GPL is a license designed mainly for software, it can also be used for works that are not software, so long as it is defined clearly what the “source code” is when adopting the license. The FSF also provides a license that is specially designed for documentation. The GNU Free Documentation License (GNU FDL or FDL) is a form of copyleft license for manuals, textbooks or other documents that grants everyone the freedom to copy and redistribute the documents, with or without modifications, either commercially or non-commercially.

By applying GNU FDL to a document, the author grants users the right to make verbatim copies of the work, to modify the work and to distribute modified works. Since it is a copyleft license, it requires the copy and the distribution of modification of the FDL-ed work is also licensed under the FDL.

Creative Commons Licenses
Inspired by the FOSS development, the Creative Commons advocates for openness of digital content and is urging for a more reasonable and flexible layer of copyright in the face of increasingly restrictive default rules.

In 2002, the first versions of Creative Commons Public Licenses (CC licenses) were released. By identifying major concerns of authors – i.e., whether attribution is required (attribution, BY), whether users are allowed to make commercial uses of the work (non-commercial, NC), whether users are allowed to make derivative works (no derivative works, ND), and when derivative works are allowed, whether they are required to be licensed under exactly the same license as the original work (share alike, SA) – Creative Commons developed a set of 11 different CC licenses. Each represents a unique combination of the above four conditions. Authors are free to choose among the 11 licenses and decide which best suits their needs and works.

In 2004 Creative Commons released the second version of CC licenses. Since the requirement of attribution has been widely adopted by users of CC licenses, the attribution requirement has become default, and thus there are only six CC licenses in the second version. However, the 11 licenses in the first version are not superseded and are still available (Table 2).

CC licenses are designed for all kinds of digital content except for software, including art works, photographs, music and literary texts. CC licenses do not deal with the FOSS issue, since ideas in the works referred to are transparent and are not compiled into forms that cannot be perceived. Some CC licenses do not allow modification or for-profit use and might not be regarded as “free”. However, CC licenses are successful in spreading the idea of freedom and openness to the greater public, which might not be familiar with recent software developments fostered by FOSS movements.


text:
FOSS Licensing/Scenarios

Different stakeholders will have different uses for FOSS. A developer might use a program more intensively than an end-user, which means that the developer’s activities might be subject to more restrictions than an end-user. The following section tries to provide some scenarios as examples to explain the different legal issues that may arise for different stakeholders.

End-user (Individual/Business/Government)
In this case, neither Abul (an individual) nor his school (a public government body) made any modification to the software that they downloaded from the Web. They were simply end-users.

The situation for end-users is relatively simple. The end-user of a software program may be an individual, a government body, or a business entity. These individual persons or legal entities may have different reasons to use FOSS. Some may be trying to find a cheaper solution or a solution that suits their needs better; others may wish to use FOSS for better customization; still others may wish to reduce their dependence on proprietary companies.

 * Legal issues involved
 * The way end-users use FOSS solutions might not be very different from the way they use proprietary solutions. They download a copy of a FOSS solution or purchase a copy (usually in exchange for some support and services), install it in the computer (thus making a copy on the hard disk), run the program, and have its functions serve their needs. The rights that are of concern here are the right to make copies of the program and to run it. (The act of running a program may also count as an act of making copy, but it is stated differently in some FOSS licenses. For example, the GNU GPL has no restrictions on the running of the GPL-ed program but does regulate the act of making a copy.) These rights are granted by all FOSS licenses. Thus there are fewer legal disputes involving end-users. However, end-users do need to consider some issues.
 * Issue 1: Technical Support Since an end-user might not be a computer whiz, she might have concerns regarding technical support when choosing a FOSS solution. Thus, instead of simply downloading a copy of the FOSS solution for free, she might choose to purchase a box of FOSS in a shop where a proprietary solution is also available, sometimes at approximately the same price. The difference is that when purchasing, let’s say, a commercial Linux distribution in the store, the end-user is not paying for the license fee, but for the service and support. Additional copies of the software and FOSS documentation may be distributed freely, e.g. to pupils, or installed on other computers; such additional users or installations are usually not covered by the support, unless explicitly included in the agreement. When the term of service expires, the end-user can choose to pay for another term of service, or ask other available providers for similar services.
 * Issue 2: Customization When existing FOSS solutions do not fit their needs, end-users might need to ask individual developers or vendors to customize the solutions. In such cases, since end-users may not be technically savvy enough to detect possible infringements, they may wish to have a written clause in the contract ensuring that the vendor or developer will take on the entire responsibility for any possible copyright infringement, and will compensate for any possible losses that may be caused by allegations of infringement. The buyer is free to add these clauses to the contract when negotiating with the vendor or developer.
 * Issue 3: Government Procurement Since FOSS licenses are different from traditional software licenses, governments should be particularly aware of the differences when they open a bid for software solutions or sign a contract with vendors. Existing government bid and contract templates may have been drafted under the traditional proprietary model of traditional copyright law, and have to be examined, or revised, if they fail to treat FOSS and proprietary software equally.

Developer (Individual, Business)
Developers (individuals and business entities) need to be more careful with the terms and conditions of different licenses while using FOSS. Developers usually not only run and copy the software, but also create derivative works from the software, and distribute these derivative works together with the original program. Therefore, for developers to contribute to the development of a certain FOSS program, it is essential to have the rights to run the program, to make copies, to distribute the program and to prepare derivative works.

These rights are granted by all FOSS licenses, for these essential rights are considered important both in the Free Software Definition and the Open Source Definition. Nevertheless, different FOSS licenses may have different restrictions on exercising these rights, especially on creating and distributing derivative works. Developers should pay particular attention to this, and consult their lawyers on their specific situation when needed.

There are different considerations when a developer participates in different stages of software development.

When Starting a New Project

 * Legal issues involved — choosing a license of one’s own

 * Developers
 * What does this project mean to me and to others? How do I want others to be involved? What do FOSS licenses say? What are the differences between FOSS licenses?

 * The situation is relatively simple if the developer is starting a new project without using any existing modules, since she will not have to look through the licenses of existing modules that she might have used.

 * However, starting a new project is not an easy task either. The different characteristics of the FOSS license she chooses will have a significant influence on the possible development path of the project. The developer should define her main concerns before choosing a license.

 * For example, if the developer is a supporter of copyleft, she may stick with the GNU GPL or the LGPL. If the developer thinks she doesn’t need to require people to license their modified works under FOSS licenses, a BSD-style license would be appropriate. Or when the developer thinks it is better to control the development in a firm and central line, she might not be interested in BSD style licenses. But if forking is preferred in the future development, BSD style licenses may be a better choice.

 * Developer
 * Can I change my mind after licensing my project?

 * The copyright holder of a project can always decide to choose another license for the program, even when the previous versions have already been licensed under certain FOSS licenses. This will not affect the rights of the recipients of the previous versions since license grants are irrevocable. The situation will be more complicated if contributions from the community have been incorporated into the newer version, which means that these other contributors may claim copyright to certain pieces of the code in the newer version. In this case, unless there is prior agreement, the license must be chosen by all contributors.

 * Developer
 * I don’t like any of the existing FOSS licenses. Can I start a new one?

 * Though there are already many FOSS licenses, it is possible that a developer will find that she does not like any of the available licenses. As long as the developer owns the code, she is entitled to choose any license for the project, including a new one that she drafts by herself. However, creating a new FOSS license requires legal knowledge and skill to avoid vagueness and loopholes. Also, there are already many FOSS licenses and the transaction cost for understanding these licenses is high. Creating a new license is not recommended unless a developer has strong reasons to do so.

When Modifying an Existing Module

 * Legal issues involved: Ascertain the license of the program to be modified

When a developer tries to modify an existing module, and when the modification is not solely for her own use but for further distribution (e.g., localizing a project), she needs to first identify the license of the module.

 * Developers:
 * Under the license, what are the rights I am granted and what are the restrictions in exercising those rights?

 * For example, on the distribution of a FOSS work, some FOSS licenses (e.g., the GNU GPL, the LGPL) may require distributors to provide both object code and source code, or at least provide the information on how to access the source code. On modifying a FOSS work, some FOSS licenses (e.g., GNU GPL, LGPL, BSD) may require the modifier to provide documentation of the changes being made. On distributing the derivative work, copyleft licenses require derivative works to be licensed under the same license as the original work, while other FOSS licenses allow the modifier to choose a different license (BSD, MIT).

 * If Nazlee and her friends are trying to localize the dual-licensed OpenOffice, and they decide to use the one under the GNU GPL, then the localized OpenOffice would also be GPL-ed. Using the original license scheme (dual-licensing) the localizations are easily integrated in the original project and can then at least partly be maintained there. Using a more restrictive scheme means that the localizations probably must be maintained locally. Allowing additional licenses (e.g. to later be able to use part of the work in another project) is usually unproblematic.

 * Some FOSS licenses (e.g., the MIT License) may allow users to sublicense the original work. This means that when distributing the verbatim copy of the original work, within the scope granted by the original copyright holder, the distributor may choose a different license and become a licensor him/herself. In such cases, when a developer creates a derivative work and distributes it together with the original work, he/she can choose to become a licensor of both the original work and the derivative work, which simplifies the legal relations to one that exists only between the two parties. If a sublicense is not allowed, people who receive the modified work would have two licensors for this piece of work. The licensor of the original work will be the author of the original work, while the licensor of the derivative work will be the developer who prepared the derivative work.

When Integrating Different FOSS Modules into One Service
FOSS licenses do not impose restrictions on modifications that are made for internal use. But when a public distribution is created based on these modifications, the developer must consider all the licenses of the modules being used.

 * Legal issues involved: Identify the licenses of the programs being integrated, and see if these licenses are compatible.

 * When publishing something that integrates several different modules, it is essential to ascertain the licenses of each module. If they happen to be licensed under the same license, such as the GNU GPL, then the integrated system would be licensed under that license. The situation is similar when all modules are licensed under the BSD License. But in this second case, because the BSD license is more permissive, AA would be able to choose another FOSS license or a proprietary license for the modified modules and the integrated system. (The permissive nature of the BSD license allows AA to "narrow down" the licence by adding further conditions, while the GPL does not allow this.)

 * However, if some of the modules have different licenses, then AA will have to look at the compatibility of these licenses. When two licenses are compatible, the two modules licensed under the two licenses can be combined into a larger work while complying with both licenses.

 * When combining a GPL-ed program and BSD-ed (GPL-compatible) into a larger program, the larger program will have to be GPL-ed to meet both the requirement of the GPL-ed program and BSD-ed program. If some of the modules are GPL-ed but other modules are GPL-incompatible, AA must decide which module is more important for them and replace the other one with a module with a compatible license.

 * The licenses used in different modules and the way they are combined together would determine how the integrated system can be licensed and distributed.

 * Other considerations – choice of law and choice of venue clauses

 * Finally, for those who are able to choose licenses for their programs, either because they started their own programs or they are allowed to choose licenses for the derivative works they prepared, they should be aware that many OSI-approved licenses are developed by proprietary software companies. Some are designed to meet their company policy and strategy, and thus might not be a good choice for developers in general. Some technical issues, such as clauses on choice of law and of venue (which could be found in the Qt Public License, the Mozilla Public License, the Common Public License, etc.), may become significant when a lawsuit is brought up.

Vendor/Producer (Business)

 * Mere distribution
 * In this situation, both FOSS and proprietary programs are distributed in one package. For the FOSS application, AA is merely a distributor, and must distribute it as its FOSS license requires. For proprietary programs, AA holds the copyright and is able to choose the license and ways of distribution. It is all right to put FOSS and proprietary applications into one distribution package, such as one CD-ROM, if the applications function separately and do not link together to create any derivative work.

 * Distribution of integrated systems
 * In the case of an integrated system distribution, what is key are the licenses of the different integrated modules and the ways in which the modules are combined. As explained earlier, AA needs to first make sure that the licenses of the different modules allow AA to combine them. These licenses will also determine the ways by which AA can distribute the integrated system.

 * Other considerations – drivers and certifications
 * One difficulty that FOSS vendors might encounter is that hardware vendors may not be aware of FOSS software and thus fail to provide drivers that will enable FOSS applications to work on the hardware. It is important to promote the idea of FOSS among hardware vendors. This will be easier when there is a larger group of FOSS users.

Likewise, certification is sometimes needed for FOSS to work properly with specific proprietary software. A larger FOSS user group will encourage proprietary software companies to certify FOSS applications that might be used together with their programs.

 * Other considerations – FOSS used in embedded systems or devices
 * FOSS is also used in embedded systems in electronic devices, such as cell phones, hand-held devices, digital cameras and DVD players. The use of FOSS may help device manufactures to lower their cost when developing new products. The distribution of the device is different from the distribution of the FOSS itself. With regard to the latter, the rules of specific licenses still apply.

The GPL version 3 mandates making available not only the source code for embedded devices, but also describing how to install a locally modified version of the software into the device, unless the device cannot be updated (e.g. because of having the software in ROM).

 * Other considerations – Source code
 * Many FOSS licenses insist on the source code being available. This must be the actual source code for the compiled program that has been distributed. As changes to the software can introduce subtle bugs making it unusable in the setting where it is used, it is not enough to provide the latest version of the source code. The simplest way not to have to keep track on every version is to always distribute the source code together with the compiled software (or keep them available together, if distributed by offering downloads).

Government-sponsored Projects
FOSS movements and rapid FOSS developments have received attention not just from the FOSS community, but also from academics and policy-makers. In some Asian countries, governments work with PC manufactures/vendors to provide affordable PCs bundled with FOSS operating systems and office applications. Governments also support FOSS development, generate FOSS-related projects and promote FOSS as a national technology and industrial policy. But long before governments began to notice the potential of FOSS and developed a clear position on it, some government-affiliated academic institutes have already been working on FOSS-related projects.

The FSF-maintained FAQs about the GNU GPL also list questions about whether the United States Government could release a program under the GNU GPL or release improvements to a GPL-ed program. Situations may differ from country to country and from case to case under different government regulations in different countries. Most government regulations on government-sponsored projects are usually drafted under their domestic copyright and patent law and might be informed by a more protectionist mentality and thus be unfamiliar, or even unfriendly, to FOSS licensing and development models.

Below are two cases of government-funded FOSS studies. The first one is about FOSS-related studies made in a government research institute without related government policy, while the second one is about a national FOSS project.

A FOSS Project under a Government-affiliated Research Institute: Multi-Lingual Editor, Japan
Emacs is a multilingual text editor first developed by Richard Stallman at MIT. After the GNU project started in 1984, the development of GNU Emacs was started and it was first released in 1985, under the GNU GPL.

The Japanese governmental research institute, Eletrotechnical Laboratory (ETL), began to work on the multilingual information processing and integration of GNU Emacs and Mule (multilingual text editor based on Emacs and later merged into GNU Emacs as MULE) in the mid-1990s, but there were various copyright issues.

ETL was a government research institute, and the licensing model in the GNU GPL is very different from Japanese copyright law, so no one was able to decide whether ETL could assign the code to the FSF and release the code under the GNU GPL. As a result, ETL never officially released the code but released the trial versions instead. More negotiations between ETL and FSF took place later, and resulted in a special agreement. The FSF agreed not to require ETL to assign the copyright of the modified code to the FSF, and ETL agreed to grant FSF the right to use the code. This was the first time that part of the code in Emacs did not belong to the FSF.

In 2001, ETL was reorganized into the National Institute of Advanced Industrial Science and Technology (AIST). Although AIST is still a government-funded institute, it is an independent organization and its assets are not national property. It seemed that AIST would be able to release the code under the GNU GPL officially. But, initially, it was still very difficult for the higher levels of AIST to make a final decision. It took them another year of internal negotiation to decide that AIST was entitled to release their works and choose the licenses of their works. It was also not easy to convince people about the advantage of adopting the GNU GPL. According to Dr Kenichi Handa, a senior researcher in AIST, it was never clear what convinced the AIST management to make the final decision.

This happened before the Japanese Government had formed a clear position on FOSS development. During an open source conference among Asian countries in 2003 where Dr Handa was invited to give a talk on the development of Emacs, Shuichi Tashiro, the leader of the Japanese FOSS project under the Ministry of Economic, Trade and Industry, said that the Japanese Government has made necessary regulatory revisions to give developers of government-funded projects the copyright (and thus the right to choose the license) so long as the law was applicable from the beginning of the project.

In this case, we can see that when the government is not familiar with the FOSS licensing and developing model, related government regulations may create unnecessary difficulties for government-affiliated research institutes seeking to participate fully in FOSS development. It took AIST, formerly ETL, years to finally be able to officially release the code under the GNU GPL. Even though now there is a special regulation to facilitate the use of FOSS licenses for government-funded open source projects, as they are still considered exceptions.

A National FOSS Project: Free Software Industrial Development Project, Taiwan
Under pressure from Congress, the Taiwanese Government began the planning of a national FOSS project in 2002, and in 2003 a significant budget had been allocated to a five-year FOSS project. The Ministry of Economics Affairs (MoEA) was assigned to structure, sponsor and oversee all of the sub-projects.

Under general government regulations administered by the National Science Council (NSC), although the results can be copyrighted by the entity which carries out government-funded projects, applications of such results are still subject to certain regulatory principles. Unless it would be more beneficial for the national development of science and technology, the results have to be:

 * 1) Licensed for a fee.
 * 2) Licensed to Taiwanese institutes or firms.
 * 3) Used or manufactured within Taiwanese jurisdiction.

Though exceptions might be made for FOSS projects, the law had not been officially interpreted in this way, and no one wanted to risk violating the regulation.

In addition, the national FOSS project was assigned to the MoEA, which has the more important task of protecting national interest and economic competitiveness. Thus their regulations are more protectionist/ restrictive than the general rule. These restrictive regulations were applied to the national FOSS project. Under MoEA regulations, only the third principle (used and manufactured within Taiwanese jurisdiction) can be exempted. This meant that the outputs of the national FOSS project had to be licensed for a fee, and it can be licensed only to Taiwanese institutes or firms. Such principles are inconsistent with the FOSS licensing model, making it difficult for all sub-projects under the national FOSS project to release their code.

This issue was raised as soon as the five-year FOSS project started. Different government bodies met several times to find a solution. Because the FOSS licensing model was so alien to the models they were used to, the problem was not solved until mid-way into the second year (2004) and the code developed in the first year was not officially released in time.

This was particularly problematic since one of the sub-projects under the national FOSS project was integrating an existing FOSS program. At the same time, the sub-project intended to participate in and contribute to this particular FOSS project. When the community was about to incorporate all of the recent developments and release its newer version under the GNU GPL in March 2004, they found it difficult to incorporate the code developed under the government-funded sub-project in Taiwan.

It was not until after a negotiation held in May 2004 that different government bodies finally came out with a solution. The MoEA submitted the case to the Administrative Yuan (highest administration body) to obtain an official interpretation from the Government regarding whether FOSS projects meet the exception clause and are thus exempt from the principles. Meanwhile, the MoEA began to look into the possibility of revising its restrictive regulations.

The official interpretation was finally made by the Administrative Yuan in July 2004, 18 months after the official launch of the national FOSS project. Under the new interpretation, government-funded FOSS projects met the exception clause of the general NSC rule and can be exempted from the principles that conflict with FOSS licenses. Although the MoEA regulation has not yet been modified, some code-generating FOSS projects are assigned to NSC and the general NSC rule, rather than the more restrictive MoEA rules. It is hoped that FOSS projects will be able to release the code under FOSS licenses thereafter.

This case shows that while the government has started to recognize the importance of FOSS development, its regulatory and administrative structure might not be ready to accommodate FOSS. In the case of the Taiwan National FOSS Project, with the combined efforts of related government and project personnel, the problem was finally solved to a certain extent. But it had already caused some serious problems, especially in collaborating with international and local FOSS communities. As many countries now also recognize the importance of FOSS development, and are starting or planning to start their governmental FOSS projects, it is critical that the related legal structures are examined and updated to facilitate FOSS development.

title: FOSS Licensing/Scenarios


text:
FOSS Licensing/Online Legal Resources and Materials

 * Free Software Foundation
 * Open Source Initiative
 * Open Source License LawResource Center
 * Open Source Licensing
 * WikiReader_Free_Software_and_Free_Contents.pdf WikiReader
 * Groklaw
 * FLOSS Concept Booklet
 * Frequently Asked Questions about GNU GPL
 * Quiz to Test Your Knowledge of the GPL and LGPL
 * Apache License and Distribution FAQ
 * Mozilla Relicensing FAQ
 * Netscape Public License FAQ
 * ur0312b/ Feature
 * A Comparison of Open SourceLicenses
 * Electric Frontier Foundation
 * Foundation for a Free Information Infrastructure
 * IP Justice
 * League for Programming Freedom
 * Infochange - Intellectual Property Rights
 * Patents/SoftwareProtectionIndex.html Copyrights and Software Protections by Patents andCopyrights
 * Journal of Information
 * Creative Commons
 * Legal+Guidance+%26+Documents&L3=Software+Licensing+%26+Development&L4=Open+Source+Legal+Toolkit&sid=Aitd Open Source Legal Toolkit
 * Software Freedom Law Center


text:
FOSS Licensing/Glossary

This section is a derivative work of its Mandarin version co-authored by Rong-chi Chang and Chingyuan Huang, former colleagues of the OSSF, Institution of Information Science, Academia Sinica.

 * Copyleft
 * Proposed by free software advocates, copyleft is an alternative framework conceived within copyright law which usually confers exclusive rights to copyright holders and thus limits access to the work by all others. Authors may want to “copyleft” their works to grant certain rights to people who are interested in distributing or modifying their works, provided these people will also “copyleft” all the derivative works. Although copyright and copyleft might represent very different ideas regarding the relationship between authors and their works, copyleft is not against copyright law. On the contrary, without the rights granted by the copyright law, authors will not have the power to copyleft their works. Please also refer also to the definition provided by the Free Software Foundation at http://www.gnu.org/copyleft/copyleft.html.

 * Copyright
 * A bundle of rights regarding the use of a creative expression (including literary works, music compositions, movies, paintings, software, and the like) that the law grants exclusively to the author. Copyright is applied to a work upon its creation. Except for the limitation set by copyright law, any use of a work without the copyright holder’s consent is regarded as an infringement. Note that copyright law protects only the expression of ideas but not the ideas themselves.

 * Copyright Holder
 * The individual or legal entity who is entitled to exclusive rights under copyright law. It is usually said that copyright law aims to protect authors of creative works. But since most of the rights protected are treated as property rights and may be transferred, many copyright holders are not the authors of the works themselves but their employers or those who have commissioned these works.

 * Derivative Work
 * Copyright law is applied to every work once it is created. With the consent of the copyright holder, one can use this (original) work to create derivative works. For example, a newer version of a program might contain all or part of the code of the earlier version. Thus the newer version is a derivative work of the earlier version. Translation of a document is also regarded as a type of derivative work.

 * Distribution/Redistribution :Distribution of the copies of a work is also an exclusive right granted to the copyright holder. In FOSS licenses, all receivers of copies of a program are allowed to make further distributions. The term redistribution may be used when emphasizing that the distributor has received the program from somewhere and is distributing further.

 * Fair Use
 * Copyright law seeks to maintain a balance between private and public interests. “Fair use” is developed to limit excessive copyright protection and to allow the general public greater access to copyrighted works. When a work is used without the consent of the copyright holder for purposes of criticism, comments, news reporting, teaching, scholarship or research, such use might not be considered an infringement. Though copyright may differ in different jurisdictions, usually the following factors are considered by the court in deciding whether a case falls under fair use or is an infringement:
 * The purpose and character of the use, including whether such use is of a commercial nature or is for non-profit educational purposes.
 * The nature of the copyrighted work.
 * The amount and substantiality of the portion used in relation to the copyrighted work as a whole.
 * The effect of the use upon the potential market for or value of the copyrighted work.

 * First-sale Doctrine
 * The first-sale doctrine is an exception of copyright law that is codified in Section 109 of the US Copyright Act. Similar doctrines may be also be adopted by other countries. The doctrine allows the person who purchased a legally acquired copy of a copyrighted work to further distribute (including sell, rent or give away) the copy without permission from the copyright holder. But the first-sale doctrine does not apply to phono-records and computer software.

 * License
 * A license is a legal document that copyright holders may adopt to regulate how people can use their works. Users are often required to accept the terms and conditions of a license as a prerequisite to their use of the copyrighted works.

 * Multiple Licensing
 * The copyright holder of a work can have various ways of making use of his/her work available to others. The terms and conditions she would want users to accept may differ from case to case. For example, the copyright holder of an editor software may be willing to issue an academic license that is cheaper and more affordable for students, while commercial licenses are adopted when the program is sold to commercial entities. A copyright holder can also decide to license a work under both FOSS licenses and proprietary licenses to achieve different purposes.

 * Public Domain
 * The term public domain is used to describe all creative works that are not protected by copyright law and can therefore be used freely. Works that are in the public domain might be cultural heritage that came to existence before copyright law, or works that were once protected but whose copyright has expired, or works for which their copyright holder decides not to claim copyright. In the latter case, the disclaimer must be made explicitly. In some countries, a signed written document deposited with a national registrar may even be required. Works that are licensed under FOSS licenses are still copyrighted and do not fall into this category.

 * Source Code
 * Source code is written in special kinds of languages designed for programming. A program in its source code form might not be easy for lay people to understand, but it is comprehensible to trained programmers. When the source code is converted to machine readable form, even programmers will have difficulty understanding and modifying the program. Therefore, access to the source code is a prerequisite for the development of FOSS and a principle embraced in all FOSS licenses. A more detailed explanation of “source code” can be found in the Glossary of the introductory primer, Free/Open Source Software, A General Introduction, which is available online at http://www.iosn.net/downloads/foss_primer_current.pdf

 * Sub-license
 * When a copyright holder licenses her work to someone else, she can also choose to allow the licensee to sublicense the work. That is, when the licensee distributes the work, within the scope of rights granted by the licensor, the licensee is not only a (re)distributor but also a licensor of a sub-license between her and the other party (licensee of a sub-license). However, most FOSS licenses do not grant people the right to sub-license. For example, A is the copyright holder of X program. B receives a copy of X and distributes more copies. C receives the copy from B. If A does not grant B the right to sub-license, both B and C receive the license directly from A. If A grants the right B to sub-license program X, within the scope of the rights granted by A, B may start a new license and him/herself become a (sub)licensor of program X.

 * Warranty Disclaimer
 * Warranty is a guarantee made by the vendor against potential liabilities arising from the use of a product. All FOSS licenses come with a warranty disclaimer. Such clauses are designed to protect the author of FOSS programs, for these programs are licensed without royalty and changes might be added in its development. However, although FOSS programs themselves are royalty-free and disclaim warranty, vendors of FOSS programs can always provide their customers with a warranty and various kinds of supports for a fee.
 * Another reason why licenses of community distributions may not include warranty clauses may be because developers are expected to understand the code and fix the bugs, and are invited and expected to take on some responsibility as a member of the community. However, in commercial distribution, it is unreasonable to expect customers to be capable to read and change the code. In some countries, failure to provide minimum guarantee will lead to consumer protection issues

title: FOSS Licensing/Glossary


text:
FOSS Licensing/About the Author

Original Author
Shun-ling Chen did her master's degrees in law both at National Taiwan University and Harvard Law School. Her research interests and political commitments have been mainly about how self-organized social agencies are able to instigate driving forces for structural transitions. She has been working with various NGOs and sees FOSS as one of such community building processes. Until the summer of 2004, she was the project co-lead of Creative Commons Taiwan and served in the OSSF project as the project manager of its Law and Policy team.

Built with FOSS modules, OSSF is a public platform that offers free (as in free beer!) tools and spaces for FOSS community to develop their projects. The OSSF is carried out by the Institute of Information Science, Academia Sinica, Taiwan.

Acknowledgements
The author (Shun-ling Chen) would like to acknowledge her debt of gratitude to the following:

 * The reviewers of this primer, Richard M. Stallman, Eric S. Raymond, Dr. Nah Soo Hoe, Aniruddha Shankar, Mahesh T. Pai, and Kenneth Wong for their valuable comments and suggestions.
 * Her colleagues at the OSSF project and the FOSS community members who have developed their projects on the OpenFoundry, for providing their valuable inputs towards understanding FOSS licensing issues and developing the ideas contained in this primer.
 * The current and former UNDP-APDIP colleagues Sunil Abraham, Khairil Yusof, Phet Sayo, Shahid Akhtar and Kenneth Wong for their efforts and assistance that made this primer possible.
 * And finally, those who have contributed their time, efforts, and resources to the FOSS movement with enthusiasm which has shown us what voluntary collaboration among human beings can achieve.

Contributors
This book is a wiki. You can edit this book too, if you want! If you make a significant contribution to this project, please list your name here:

 * Andrew Whitworth 14:00, 5 September 2006 (UTC)
 * Performed the initial conversion from PDF, and the transfer of this material to the wikibooks server. He set up most of the initial formatting.

title: FOSS Licensing/About the Author


text:
XForms

XForms is a World Wide Web Consortium recommendation for creating web forms and web applications. It's easy to learn, provides a rich user experience and does not require you to learn JavaScript.

There are many different implementations of XForms and this cookbook is designed to work with any of them. A list of implementations is available on the W3C website.

This is a collaborative project and we encourage everyone who is using XForms to contribute their complete working XForms examples. All submissions must be licensed under the Creative Commons Attribution-ShareAlike 2.5 license.

Note: many of the examples in this wikibook still use the "nodeset" attribute for binding rules, groups and repeats. Most XForms systems (Orbeon and betterForm) now use the "ref" attribute and may no longer support the older "nodeset" attributes. XSLTForms 1.0RC does not allow @ref instead of @nodeset but builds since rev.559 do support @ref where @nodeset was previously used. We will be updating the examples accordingly.

 * 1) Instructors: please sign our /Guest Registry/ if you are using this book for learning or teaching XForms.
 * 2) Contributors: please see our /Naming Conventions/ to ensure your examples are consistent with the textbook.
 * 3) If you are looking for a specific example program, please feel free to use the /Examples Wanted/ section.

If you feel these examples are useful please create links to this site. This book has over 30 contributors.

Recent Changes /Book Statistics/

Related Wikibooks: XQuery XForms/REST/XQuery

Note: Almost all of the examples have been tested with the FireFox 2.0 XForms addon and the newer 0.8.6ff3 FireFox 3.0 addon. Please let us know if you find any errors.

Introduction

 * 1) /Introduction/ - About this book and overview of the technology.
 * 2) /Background/ - A brief history, theory and motivation for the XForms standard.
 * 3) /Benefits/ - Why use XForms?
 * 4) /Installing and Testing/ - How to install an XForm plug-in or extension.
 * 5) /Naming Conventions/ - Naming standards used throughout this book.
 * 6) /Comparison of XForms Products/ - A comparison of XForms products

A Tour of XForms
These examples are for people who are just getting started.
 * 1) /HelloWorld/ - A simple test to see if XForms is installed correctly.
 * 2) /Simple Message/ - Open a panel with a message
 * 3) /XForms Architecture/ - An introduction to the XForms MVC architecture
 * 4) /Input Example/ - A simple input that updates the model
 * 5) /Incremental Many to One/ - How a single input field can change many output controls
 * 6) /Spreadsheet-like Updating/ - how XForms tracks what fields need to be updated
 * 7) /Bind/ - how to bind inputs to the model using the bind element
 * 8) /Adder/ - sample XForm that uses a remote web service to sum two numbers

Controls

 * 1) /Input/ - a simple input form with a label
 * 2) /Address/ - a simple address form with labels
 * 3) /Address Aligned/ - using CSS to align fields
 * 4) /Input Field Width/ - using CSS to control field width
 * 5) /Secret/ - a way to enter passwords  [[Image:XForms-best-practice.jpg|15px]]
 * 6) /Message Types/ - three types of messages
 * 7) /Textarea/ - a large block of text
 * 8) /Textarea with style/ - styling textarea using CSS  [[Image:XForms-best-practice.jpg|15px]]
 * 9) /Checkbox/ - a simple boolean (yes/no) checkbox
 * 10) Selecting Items from Lists
 * 11) /Select1/ - the new radio button
 * 12) /Select1 drop list/ - select a single option from a drop-down list
 * 13) /Open Selection/ - suggests a value or allows the user to add their own
 * 14) /Select/ - selecting many (check-boxes)
 * 15) /Select Multi-Column/ - selecting many items from many columns (check-boxes)
 * 16) /Select1 Multi-Column/ - selecting one item from many columns (radio buttons)
 * 17) /Selecting from Model/ - getting data for select lists from the model
 * 18) /Selecting Codes From File/ - getting data for select lists from an external file  [[Image:XForms-best-practice.jpg|15px]]
 * 19) Working with Dates
 * 20) /Selecting a Date/ - using the bind command to present a calendar selector
 * 21) /Formatting a date/ - display a date in MM/DD/YYYY format  [[Image:XForms-best-practice.jpg|15px]]
 * 22) /Upload/ - uploading a file from a local file system
 * 23) /Trigger/ - the new button
 * 24) /Controlling Button Appearance/ - setting button labels, hints and using images
 * 25) /Range/ - adding a slider to your form
 * 26) /Send/ - send out a request for a new resource
 * 27) /Load/ - dynamically loading additional resources into your form

Binds

 * 1) /Selecting Text/ - use a bind expression to set select from a variety of text messages

Intermediate Examples
These examples assume you are familiar with XForms concepts and controls.

Client-Side Field Validation

 * 1) /Validation with Bind/ - use a bind expression to set a data type and alert the user
 * 2) /Case Validation/ - use a bind expression to check the case of an field
 * 3) /Limiting Length/ - use an action to warn users when they exceed a field length

Server-Side Field Validation

 * 1) /Server-Side Field Validation/ - sending a single field to the server to validate the contents of the field

Submitting Data

 * 1) /Submit/ - saving your XML data to a file or web server
 * 2) /Encoding Parameters/ - encoding  submission parameters
 * 3) /Changing Namespaces in Submission/ - changing the namespace prefixes from submission data
 * 4) /Displaying Save Results/ - showing save status after you have done a save

Events and Condition

 * 1) /Events Overview/ - What are XForms events and how to use them
 * 2) /Setting Initial Cursor/ - setting the initial cursor position when a form loads
 * 3) /Selection and Deselection Events/ - Logging events when tabs are selected or deselected
 * 4) /Conditional Actions/

Output

 * 1) /Binds to many instances/ - binding to many instances in many models
 * 2) /Bind to ranges/ - binding to two different ranges
 * 3) /Repeat/ - using repeat to display lists
 * 4) /Conditional Styling/ - using CSS and group to conditionally display items in a list
 * 5) /Formatting Numbers/ - how to format numbers and currency
 * 6) /Output and Links/ - how to display links in your output

Dynamic Forms
Forms that change as you use them. Dynamic forms without using Javascript
 * 1) /Switch and Case/ - swapping views with switch and case
 * 2) /Relevant/ - displaying only relevant fields
 * 3) /Binding in Repeats/ - binding within repeated elements
 * 4) /Show-Hide Controls/ - hiding large controls
 * 5) /Disable Buttons/ - how to disable buttons when they are not relevant
 * 6) /Read Only/ - setting input fields to be read only
 * 7) /Select and Group/ - using select to conditionally display a group
 * 8) /Dynamic Labels/ - dynamically change the labels of a form without reloading the page
 * 9) /Suggesting Items/ - creating a list of suggested items as you type
 * 10) /Dynamic Selection Lists/ - itemset's that are dynamically dependent on values of an xml-instance
 * 11) /Incremental Model Loading/ - dynamically loading other models
 * 12) /Dynamic Labels in Local language/ - dynamically change the labels of a form in Local language without reloading the page

Search Forms

 * 1) /Search Form/ - creating a search form
 * 2) /Search with Load/ - creating a search form with the load element
 * 3) /Advanced Search/ - a search screen with simple and advanced tabs
 * 4) /Date Range Search/ - searching for items with date ranges
 * 5) /Search flickr/ - search flickr using REST interface
 * 6) /Web service/ - calling a web service from within an XForm
 * 7) /Stock Quote/ - Calling a REST service that returns stock information from a ticker symbol
 * 8) /Search Amazon/ - Search amazon using a web service
 * 9) /Incremental Find/ - As you type a list of choices is narrowed

Larger Examples

 * 1) /CKEditor/ - allow users to add markup using a WYSIWYG editor
 * 2) /Slideshow/ - changing images in a slideshow
 * 3) /Referencing Items/ - referencing items in sets
 * 4) /Deep Copy with Insert Origin/ - using insert origin to perform a deep copy between instances in a model
 * 5) /A Trigger for Inserting BBcode into a Textarea box/
 * 6) /Multi-Part Forms/ - how to keep your initial load times short
 * 7) /Moving Items Between Lists/ - how to move selected items between lists
 * 8) /Queue Management/ - how to manage items in a sorted queue

Navigating Large Forms
Using Tabs and Trees - navigation of complex form data
 * 1) /Horizontal File Tab Menu/ - a complete working example with no Javascript  [[Image:XForms-best-practice.jpg|15px]]
 * 2) /Horizontal File Tab Menu Highlighted/ - Tab menu with selected tab highlighted using CSS target  [[Image:XForms-best-practice.jpg|15px]]
 * 3) /Vertical Menu/ - Menu similar to prior version but using vertical orientation
 * 4) /Storing Tabs in the Model/ - Storing tabs in the model and using repeat to display tabs
 * 5) /Folding Menus/ - Folding menus
 * 6) /Tree Menus/ - Hierarchical Tree Menus
 * 7) /Deselect Events/ - Catching the Deselection Events when you navigate away from a form
 * 8) /Horizontal File Tab Menu Highlighted With Binding/ - Another Horizontal File Tab Menu using an Instance, Binding, Events and CSS
 * 9) /Hierarchical Bookmarks/ - editing bookmarks
 * 10) /Outline Editor/ - outline with indenting

Reading and writing to files

 * 1) /Read and write with get and put/ - using the submission element to read and write a static
 * 2) /Saving Intermediate Form Data/ - saving intermediate form data to a local drive

Composite Controls
Controls that combine controls
 * 1) /Tri-Document Loading/ - three ways to upload a document
 * 2) /Entity Selection/ - ways to select a person or organization

Tabular and Repeating Data

 * 1) /Repeat into table/ - putting data into HTML tables
 * 2) /Repeat filter/ - dynamically filtering out rows from lists
 * 3) /Inline Repeats/ - add structures horizontally to the right
 * 4) /Insert/ - inserting a new row into a tabular structure
 * 5) /Insert with Origin/ - inserting new data and specifying initial values using the origin attribute
 * 6) /Delete/ - delete the selected row from a tabular structure
 * 7) /Disable Trigger/ - disable the delete button when only a single item remains
 * 8) /Delete Confirm/ - confirming before you delete
 * 9) /Delete Confirm with CSS/ - Styling your confirmation with CSS
 * 10) /Trailing Insert and Delete/ - add and delete from the end of a list
 * 11) /Insert and Delete into Table/ - insert and delete rows into a table
 * 12) /Code Table Editor/ - insert and delete rows into reference data code table
 * 13) /Highlight Selected Row/ - highlight a selected row
 * 14) /Table Column Total/ - table with a column total in table footer
 * 15) /Multiple Uploads/ - use the repeat function to attach multiple uploads to a form
 * 16) /Summary Details/ - a table of summary information at the top of a form allows you to inspect the details of each item

XML Schema

 * 1) /Load from XML Schema/ - load data types from an external XML Schema file
 * 2) /Validate/ - validate form using XML Schema
 * 3) /Validate with schema types / - validate form using XML Schema types
 * 4) /Facet Validation/ - check min and max lengths of fields from the XML Schema
 * 5) /SVG/

JavaScript

 * 1) /Dynamically Load JavaScript/ - example of how to dynamically load a JavaScript program

Adding Graphs, Charts and Maps

 * 1) /Pie Chart/ - draw a pie chart using range controls
 * 2) /Google Charts/ - use the Google Charts REST web service
 * 3) /Venn Diagram/ - change Venn diagram parameters with range controls
 * 4) /Supply and Demand/ - use range controls to change price and see the impact on demand
 * 5) /Graph Viewer/ - Viewing a graph of nodes and links

Development Tools

 * 1) /Event Logger/ - demonstration of how to log events
 * 2) /Replace Tester/ - testing regular expression substitution
 * 3) /Process Step Editor/ - editing a list of horizontal process steps
 * 4) /Application Builder/ - a form use to create a forms management application
 * 5) /Dashboard Builder/ - a form to specify the layout of a single page dashboard
 * 6) /URL Rewriter/ - a form configure and test Jetty URL rewrite rules
 * 7) /Web Service Tester/ - a form for testing a web service
 * 8) /Synonym Set Editor/ - associate a synonym set with a business term

Other Examples

 * 1) W2 Tax Form - sample tax form based on Mozilla XForms site
 * 2) /Invoice Manager/ - invoice manager
 * 3) /Calculator/ - a four function calculator
 * 4) /Crime Profile/ - sample of complex form used in criminal justice
 * 5) /CSS tables/ - formatting tabular output with CSS without using HTML table
 * 6) /Custom Controls/ - Example of a custom control using XBL
 * 7) /Warn on Navigate Away/ - Warn users if they navigate away before saving
 * 8) /Select All/ - Selecting all rows in a table
 * 9) /Google Maps/ - Example of using Google Maps from within XForms
 * 10) /Sorting using XSLT/ - Example of how to sort an instance using a XSLT stylesheet

Mobile XForms

 * 1) /Mobile XForms/ - Examples of XForm-based mobile applications

Client XForms Solutions

 * 1) /FireFox Extension/
 * 2) /FormFaces/
 * 3) /Picoforms/
 * 4) /Ubiquity XForms/ - http://code.google.com/p/ubiquity-xforms/
 * 5) XSLTForms - Open source client-side implementation, not a plug-in or install, works with all major browsers (IE, FireFox, Opera, Safari, Chrome and more).
 * 6) EMC Documentum Formula - Client-side implementation, free for developer use.

Server Side Solutions

 * 1) /Apache/ - Configuring Apache to work with XForms
 * 2) /Versioning Form Data With WebDAV and Subversion/ - Using subversion and WebDAV to automatically version form data
 * 3) /IIS/ - Configuring Microsoft's IIS to work with XForms
 * 4) /XML Databases/ - Using native XML databases to work with XForms
 * 5) /eXist/ - Using the eXist OpenSource native XML database
 * 6) /IBM DB2/ - Using the DB2 v9 with XForms
 * 7) Orbeon Forms - Open Source Ajax-based XForms implementation (also comes with the Form Builder editor)
 * 8) betterFORM - Open Source Java Implementation using Dojo toolkit for client-side AJAX layer

Development Tools
Key to symbols:
 * 1) /Form Generators/
 * 2) /NIEM to XForms/
 * 3) /Form Designers/
 * 4) /IBM Workplace Forms/
 * 5) /Intalio Form Designer/
 * 6) /Debugging XForms/

indicates an XForms/Best practice

/References/

 * /Debugging Tips/

title: XForms


text: Category:Book:FOSS Licensing

title: Category:Book:FOSS Licensing


text:
User:Kent Wang

I plan to contribute to the Cookbook.

My account on eGullet.

title: User:Kent Wang


text:
Movie Making Manual/Education

 * "I want to learn film making. Why can't I just grab a camera and begin filming?"

 * You can... but your movie will look like the movies from Troma Studios.

 * Rent any of the movies directed by Lloyd Kaufman such as Sgt. Kabukiman to learn what can go wrong.

Education - Teaching yourself to be a filmmaker
"Should I learn one step extremely well... or should I learn all the steps of film making?" This depends on where you will make your movies. See ../The Basic Basics/ for a list of all the steps of making a motion picture.

In Hollywood -- Specialization
To work in Hollywood, you need to learn only one step but you must learn it very well. An example is Cinematography. It takes a lifetime to become good at cinematography so if you are going to become a cinematographer in Hollywood, you must specialize exclusively in cinematography and practice, practice, practice on every student film in Los Angeles.

 * Recommended Education
 * Read the trade journals for the field you want to specialize in. That is, for cinematography, read American Cinematographer magazine.  For special effects, read Cinefex magazine.  For acting, read Backstage West.  (Note:  And, of course, to become a studio executive, you need to read Weekly Variety or Hollywood Reporter.)

Theater Groups, A Group Effort
If you are not in Hollywood (or Bollywood or Eiga Mura in Kyoto, etc.), you can form a film group (just like a theater group) and make your own motion pictures. In a theater group, there is some specialization but, in general, each person helps in all departments. A good example of a theater group is Renegade Possums Productions.

If you are going to be part of a local theater group that makes motion pictures, you need to learn more than one skill.

One important theater group is the high school or college drama department. In the future, I hope that all high schools will produce an annual motion picture. To do this, the drama instructor must be able to teach the kids the 20 different steps of making a motion picture. Wikiversity is starting a film making course to teach high school drama departments how to make motion pictures. See Wikiveristy for the first lesson on script writing for high school drama departments.

 * Recommended Education
 * Start by getting everyone together and watch film dailies (unedited scenes showing how a scene was filmed) for television dramas to see how scenes are broken down into a series of shots and filmed efficiently. Anyone can learn but you must practice to become efficient.  Once everyone sees the procedure, it is easy to mimic.  One source of film dailies is Disk #02 from the Star Movie Shop which contains 24 unedited scenes so you can see how these scenes were broken down into a series of shots for filming. Once a scene is broken down into a series of shots, it is no longer such a frightening process.

Film making Families, A Great Source of Slave Labor

The next smaller unit is the family. The secret to their success is you don't have to pay relatives and they cannot quit. Also, they don't leave in the middle of your movie to go to Hollywood. (When you read about low-budget filmmaking, you will see that half of these productions loose at least one actor in the middle of their shoot.) An excellent example is the Balderson family. They have completed three motion pictures, their most famous one being Firecracker with Karen Black. It takes them many years to make each motion picture in Wamego, Kansas. To learn how they did this, purchase their documentary called Wamego: Making Movies Anywhere. (The posters are from his movies.)

 * Recommended Education
 * If your family is going to make a motion picture, you need to learn all the skills of filmmaking, not just one or two. The best place to start is to buy books on independent filmmaking.

The Home Animation Studio
The advantage of creating a motion picture via animation is you can skip the horrors of movie production and use your computer plus a few voice actors to create a motion picture. However, making your own animated movies means you have to learn all the steps of both animation and post production.

2D Animation
2D animation does not necessarily mean cartoons. But to save drawing time, you can use many of the techniques of cartoon animation.

 * Recommended 2D Animation Education
 * Start by looking at Toon Boom Studio Express. There are easier 2D animation program but it is worth downloading the free 30-day trial of Toon Boom Studio Express which helps you get started with tutorials and templates. Also look at Anime Studio.

3D Animation

 * Currently, creating a motion picture with digital actors using 3D software such as Maya, LightWave, Blender, and 3D Studio Max is surprisingly difficult because all the 3D software for doing character animation is still very primitive.  As an example, the skeletons of 3D animated actors do not have rib cages.  Therefore, the characters cannot breathe.  Watch Polar Express to experience what it feels like to watch 3D actors hold their breath for the entire movie.

 * Recommended 3D Animation Education
 * Watch movies which have been made with 3D animation programs. Then start by getting the free educational version of Maya called Maya Personal Learning Edition.  This disk is given away at most trade shows which is easier than downloading on slow computers.  Most importantly, go to the next Siggraph Conference to see all the fun toys for creating professional motion pictures with 3D animation.

Digital Puppets
Digital puppets are the inexpensive 3D characters developed for Poser which are sometimes called "Poser" figures even though some also work with DAZ Studio. These 3D figures are normally used for still artwork. The quality of these figures is absolutely amazing, far better than most characters in Maya, Lightwave and 3D Studio. The problem with digital puppets is the lack of good animation software. I think the animation portion of Poser is awkward but the new version has some interesting features. DAZ Studio has very little animation capability. Note that these figures for Poser are incompatible with Maya, Lightwave and 3D Studio Max.

 * Recommended Education
 * Start by downloading the free DAZ Studio. Look at Vue or Bryce 5.5 for the background scenery.  With Vue, start by looking at Vue 6 Easel.  (Note: Bryce 5.5 is free from DAZ but is about 130 megs to download.  Poser 5 might still be free from eFrontier.)   Then look at the digital puppets from Runtime DNA.  I prefer the digital figures from artist Lady Littlefox (Koshini, Ichiro, Krystal, Kiki) because they are good looking but not too realistic which would make them hard to animate.  If you are horny, young male, look at LaRoo 2. Clothing is optional.  You might also need a compositing program (so you can animate the human figures in DAZ Studio or Poser and then, to speed up production, create the background scenery as still images in Vue or Bryce and finally composite the images together with AfterEffects using a multiplane camera effect.)

Rural Film Studio
There is one kind of studio which is half way between a Hollywood film studio and a local theater group. To work in these studios, you need to learn one skill very well as if you are working a studio in Hollywood.

The best example of a rural film studio is Robert Rodriguez's Troublemaker Studios. When George Lucas moved away from Hollywood and was successful, people considered this a fluke. Every time Pixar Studios creates wonderful stories, people are not sure if this is just the magic of Steve Jobs or the good, clean air of Northern California next door to Lucas. But Robert Rodriguez in Austin, Texas proves that someone who is familiar with the filmmaking methods used in Hollywood can move to a remote location and produce more interesting movies than are made in Hollywood.

Start by looking at Robert Rodriguez' famous short Bedhead. Can you do what Robert did when he was a kid? If not, you need to learn more of the steps of making a motion picture. Robert learned them all at an early age. And be sure to read his book Rebel without a Crew which should be required reading at all film schools.

 * Recommended Education
 * To follow the path of Robert Rodriguez, start by buying a camcorder and practicing filming dramatic scenes. To understand how to film a scene, look at lots of unedited scenes with scripted dialog.  Then practice editing scenes which you can get through the Wikiversity Film School.

The Traditional Ways to Learn Film making
If you want to learn film making the traditional way, you can becoming a Production Assistant or go to Film school.

Become a PA
You will learn a lot about film making by becoming a Production Assistant on motion pictures or even student films. To do this, you must go to LA or to New York. A typical situation is the internship with Troma Studios in New York. In Hollywood, read Back Stage West each week for all jobs on student films in the LA area, not just acting. You can find Backstage West each week at every newsstand in Hollywood.

 * Note: There is no pay!!!  So bring a lot of money from home.  In Hollywood, you will need it.

Film School
Film school allows you to concentrate on film making 24 hours a day for four years. It gives you the chance to interact with people who have a similar interest. That is what makes film school special. The problem is film school costs from $40,000 to $100,000 (including the cost of your student film.) Before you go and spend that much money, it might be a good idea to visit a movie set for a couple days and try editing scenes from real television dramas or motion pictures to see if this is really what you want to do.

Either way, most of your learning will be done in the library rather than in the classroom or on the set. Film making encompasses literature and all the arts, and one must at least have a basic knowledge of these forms to understand the craft of film making (additionally, some film makers have studied other subjects in university).

Teach Yourself The Technology of Film Making
If you cannot afford to go to Hollywood or go to film school, you can teach yourself by using a personal computer and professional quality software. Today, most of the tools used in Hollywood are available on your personal computer. If you want to learn the technology of making a motion picture, all you have to learn to use the computer programs that the pros use.

 * Warning
 * There are many classes offered in computer software such as Avid and Final Cut Pro editing programs. If you want to learn to use a $50,000 computer system, it makes sense to go to a class rather than buy the software.  But now that Final Cut X costs about $300, it makes absolutely no sense to go to a class at UCLA Extension on Final Cut Pro which costs $999.  And they don't even teach you to edit dramatic scenes with scripted dialog.  It makes more sense to buy the program and teach yourself.  Yes, it is true that using the tutorial for Final Cut Pro is a little like Medieval torture.  Yet, it does work.  Slowly you begin to master all the functions of the program.

 * Similarly, it makes no sense to go to a local Junior College for a digital video class if all they give you is the same tutorial you get free from Apple. Just buy the program and begin learning.  (See more about learning film editing below.)

If you want to master all of film making technology, there are 20 programs that you need to learn. Fortunately, you can often download fully working demonstration programs as well as lots of free tutorials to help you learn. You don't need to go to school for this. You just need determination, a good computer and lots of time.

Which Model To Buy
For beginners, I recommend the iMac with the 24 inch screen or a laptop computer: either the MacBook or the MacBook Pro. The Mac mini is an interesting option but it costs the same as a MacBook. Note: You need to buy a complete hardware package. This can be a bit confusing... so get help from someone who really knows. This includes extra disk drives and lots of RAM. I do not recommend the wireless keyboard for your first keyboard.

Career Paths
This section grew too large so it is now in its own page at Teach Yourself A Career. This page will show you how you can learn on your own to learn a career in filmmaking.

Graduation and Diploma
When you are ready to go to Hollywood (or Bollywood), create a demo reel. When you graduate from film school, you receive a diploma and your student film. Most film studios don't think much of either student films or diplomas. Neither one will get you a job. They much rather look at your demo reel.

Demo Reel
If you want a job in film editing, film composing, 3D modeling and animation, DVD-Video authoring, acting, and sound effects, potential employers want to see a demo reel. Long ago, this used to be video tape but now this means a DVD-Video disk. You will need a DVD-Video authoring program such as iDVD which is free with all new Macintosh computers. Better still, employers may be fine with simply receiving a digital copy of one's demo reel via sites such as Youtube or Vimeo.

 * Film Editing Demo Reel
 * To create a demo reel for film editing, you need unedited scenes. eBay is occasionally a good source of original film dailies but make sure they are first generation so they can be digitized properly.  Currently, there are no other sources of digitized film dailies.  "Highlander Uncut" is no longer available and the Star Movie Shop is now closed to the public.  You can take the courses at the Wikiversity Film School where they loan you disks of film dailies.  These are the original Film Editing Workshop disks from the Star Movie Shop.

 * Film Scoring Demo Reel
 * To create a demo reel for film editing, you need edited scenes with the dialog and the sound effects but not the music. I do not know of any source of edited scenes with the music removed.  Anyone know of any other source of great scenes with no music track?

=*** Part 2 ***=

Go to ../Education2/ for the second half of this article. Discover possible career paths that you can learn at home using your personal computer and the correct software.

title: Movie Making Manual/Education


text:
Movie Making Manual/Work Experience

Work on Real Motion Pictures
Start by becoming a PA on student films and Troma films. See Backstage West for LA.

What do you learn as a production assistant?
Here are articles written by former Production Assistants:

 * A Few Things I Learned From My First Experience As A Television Production Assistant

 * Television production assistant in close-up

title: Movie Making Manual/Work Experience


text:
Template:The Information Age

 The Information Age Preface — Introduction — Digital and ICT Revolutions — Information Knowledge and the New Economy — New Work — The Information Society — Globalization — The Digital Divide — The Challenge Ahead — Notes — Further Reading — Contributors — Acknowledgements

title: Template:The Information Age


text:
Talk:Coding Cookbook/HTML Encode

This code needs to be viewed in the edit mode to see it properly, otherwise it doesn't work

 * I broke it: if you view it in the edit mode, now it doesn't work. However, the "normal view" shows it properly now. --DavidCary (talk) 00:40, 8 September 2009 (UTC)

title: Talk:Coding Cookbook/HTML Encode


text:
Template:FOSS Licensing

 FOSS Licensing About the Authors — Preface — Introduction — Overview of Intellectual Property Rights — Copyright Basics — Software and Copyright — How is FOSS Different from Proprietary Software? — How to Make the Source Free or Open — Scenarios — Online Legal Resources and Materials — Glossary — About APDIP — About IOSN

title: Template:FOSS Licensing