Open-source softwareOpen-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. Open-source software may be developed in a collaborative, public manner. Open-source software is a prominent example of open collaboration, meaning any capable user is able to participate online in development, making the number of possible contributors indefinite.
Free and open-source softwareFree and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software. This is in contrast to proprietary software, where the software is under restrictive copyright licensing and the source code is usually hidden from the users.
Open sourceOpen source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized software development model that encourages open collaboration. A main principle of open-source software development is peer production, with products such as source code, blueprints, and documentation freely available to the public.
Open-source-software movementThe open-source-software movement is a movement that supports the use of open-source licenses for some or all software, as part of the broader notion of open collaboration. The open-source movement was started to spread the concept/idea of open-source software. Programmers who support the open-source-movement philosophy contribute to the open-source community by voluntarily writing and exchanging programming code for software development.
Business models for open-source softwareCompanies whose business centers on the development of open-source software employ a variety of business models to solve the challenge of how to make money providing software that is by definition licensed free of charge. Each of these business strategies rests on the premise that users of open-source technologies are willing to purchase additional software features under proprietary licenses, or purchase other services or elements of value that complement the open-source software that is core to the business.
History of free and open-source softwareIn the 1950s and 1960s, computer operating software and compilers were delivered as a part of hardware purchases without separate fees. At the time, source code, the human-readable form of software, was generally distributed with the software providing the ability to fix bugs or add new functions. Universities were early adopters of computing technology. Many of the modifications developed by universities were openly shared, in keeping with the academic principles of sharing knowledge, and organizations sprung up to facilitate sharing.
Academic publishingAcademic publishing is the subfield of publishing which distributes academic research and scholarship. Most academic work is published in academic journal articles, books or theses. The part of academic written output that is not formally published but merely printed up or posted on the Internet is often called "grey literature". Most scientific and scholarly journals, and many academic and scholarly books, though not all, are based on some form of peer review or editorial refereeing to qualify texts for publication.
Open-source software developmentOpen-source software development (OSSD) is the process by which open-source software, or similar software whose source code is publicly available, is developed by an open-source software project. These are software products available with its source code under an open-source license to study, change, and improve its design. Examples of some popular open-source software products are Mozilla Firefox, Google Chromium, Android, LibreOffice and the VLC media player. In 1997, Eric S. Raymond wrote The Cathedral and the Bazaar.
Open-source licenseOpen-source licenses facilitate free and open-source software (FOSS) development. Intellectual property (IP) laws restrict the modification and sharing of creative works. Free and open-source software licenses use these existing legal structures for the inverse purpose of granting freedoms that promote sharing and collaboration. They grant the recipient the rights to use the software, examine the source code, modify it, and distribute the modifications. These licenses target computer software where source code can be necessary to create modifications.
The Open Source DefinitionThe Open Source Definition is a document published by the Open Source Initiative, to determine whether a software license can be labeled with the open-source certification mark. The definition was taken from the exact text of the Debian Free Software Guidelines, written and adapted primarily by Bruce Perens with input from the Debian developers on a private Debian mailing list. The document was created 9 months before the formation of the Open Source Initiative. Open source doesn't just mean access to the source code.
LibraryA library is a collection of books, and possibly other materials and media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a virtual space, or both. A library's collection normally includes printed materials which can be borrowed, and a reference section of publications which are not permitted to leave the library and can only be viewed inside the premises.
LibrarianA librarian is a person who works professionally in a library providing access to information, and sometimes social or technical programming, or instruction on information literacy to users. The role of the librarian has changed much over time, with the past century in particular bringing many new media and technologies into play. From the earliest libraries in the ancient world to the modern information hub, there have been keepers and disseminators of the information held in data stores.
Free software movementThe free software movement is a social movement with the goal of obtaining and guaranteeing certain freedoms for software users, namely the freedoms to run, study, modify, and share copies of software. Software which meets these requirements, The Four Essential Freedoms of Free Software, is termed free software. Although drawing on traditions and philosophies among members of the 1970s hacker culture and academia, Richard Stallman formally founded the movement in 1983 by launching the GNU Project.
Law libraryA law library is a special library used by law students, lawyers, judges and their law clerks, historians and other scholars of legal history in order to research the law. Law libraries are also used by people who draft or advocate for new laws, e.g. legislators and others who work in state government, local government, and legislative counsel offices or the U.S. Office of Law Revision Counsel and lobbying professionals. Self-represented, or pro se, litigants (parties to a civil lawsuit or criminal defendants who do not have a licensed attorney representing them) also use law libraries.
Scientific communityThe scientific community is a diverse network of interacting scientists. It includes many "sub-communities" working on particular scientific fields, and within particular institutions; interdisciplinary and cross-institutional activities are also significant. Objectivity is expected to be achieved by the scientific method. Peer review, through discussion and debate within journals and conferences, assists in this objectivity by maintaining the quality of research methodology and interpretation of results.
Funding of scienceResearch funding is a term generally covering any funding for scientific research, in the areas of natural science, technology, and social science. Different methods can be used to disburse funding, but the term often connotes funding obtained through a competitive process, in which potential research projects are evaluated and only the most promising receive funding. It is often measured via Gross domestic expenditure on R&D (GERD).
ResearchResearch is "creative and systematic work undertaken to increase the stock of knowledge". It involves the collection, organization and analysis of evidence to increase understanding of a topic, characterized by a particular attentiveness to controlling sources of bias and error. These activities are characterized by accounting and controlling for biases. A research project may be an expansion on past work in the field. To test the validity of instruments, procedures, or experiments, research may replicate elements of prior projects or the project as a whole.
Local governmentLocal government is a generic term for the lowest tiers of public administration within a particular sovereign state. This particular usage of the word government refers specifically to a level of administration that is both geographically localised and has limited powers. While in some countries, "government" is normally reserved purely for a national administration (government) (which may be known as a central government or federal government), the term local government is always used specifically in contrast to national government – as well as, in many cases, the activities of sub-national, first-level administrative divisions (which are generally known by names such as cantons, provinces, states, oblasts, or regions).
Scope (computer science)In computer programming, the scope of a name binding (an association of a name to an entity, such as a variable) is the part of a program where the name binding is valid; that is, where the name can be used to refer to the entity. In other parts of the program, the name may refer to a different entity (it may have a different binding), or to nothing at all (it may be unbound). Scope helps prevent name collisions by allowing the same name to refer to different objects – as long as the names have separate scopes.
Name resolution (programming languages)In programming languages, name resolution is the resolution of the tokens within program expressions to the intended program components. Expressions in computer programs reference variables, data types, functions, classes, objects, libraries, packages and other entities by name. In that context, name resolution refers to the association of those not-necessarily-unique names with the intended program entities. The algorithms that determine what those identifiers refer to in specific contexts are part of the language definition.