Glossary & terminology
Open Source: “Open Source” can have two related meanings:
- Open source as software whose code can be changed and shared. This is often equivalent to “Free Software” or “Libre Software”, so some people call this with the encompassing acronym FOSS (Free/Open Source Software) or FLOSS (Free/Libre/Open Source Software).
- The term Open Source as opposed to Free Software. While Free Software is strongly focussing on values of freedom and (programmer) empowerment, the idea of Open Source deliberately tones these aspects down in favor of the business advantages of having your code under open licenses.
We use Open Source in the first sense (as a shorter variant of Free/Libre/Open Source Software), but in conversations, particularly among FLOSS enthusiasts, it can be important to be aware of the other meaning.
Acceptance criteria: Typically added to a Github issue or a distinct piece of work as a set of rules to measure how successfully the issue solution/work meets certain criteria.
Citation: Usually the reference to the source of an assertion. Being cited by other researchers is the major source of merit for a researcher. There are people arguing that software used in research projects should also be cited.
Churn: Churn or “turnover” means that contributors leave the project. This poses a problem, since people need to learn about the project and its code before contributing work: They can’t be replaced quickly.
Community: The people who are seen as part of an →Open Source →Project. Depending on its context of use it can include more or less people: In the most restricted use, it only refers to regular →contributors and long-time users who →contributors know personally; in wider uses it can also include users who are active on various project focussed communication channels or even users who never participate in this communication.
Contributor: A person who contributes to an →Open Source → Project, usually by writing code. In recent years, there were initiatives to also apply the term to other activities that help projects including design, issue reporting, documentation writing or community organizing.
Design: Planning or the result thereof. For software, there are at least two meanings of design: 1) The design of the user interface, so it is useful and usable which is usually done by UI/UX designers 2) The design of code, so it is easy to understand and to change, which is usually done by developers in general or system architects in particular.
Feature: A functionality of a software that is useful for a user.
Git: A software to manage and combine contributions to code; initially developed for work on the Linux kernel’s code. It frequently is used together with online platforms for code-focussed collaboration, most notably → github
Github: An online platform for code-focussed collaboration of developers. Despite it being owned by a commercial company which is not sharing the platform’s source code, many →open source →projects use it to collaborate on code.
GUI: Graphical User Interface, today a common way to interact with computers via buttons, scrolling, and menus. Often used in contrast to a command line interface, which has been common up until the mid-90s for PCs, but remains an often preferred interface for software developers.
HTML & CSS: Standards for writing code that defines content and look of websites.
Information architecture: Purposefully creating a way to organize information on websites or other large information repositories. A bad information architecture (or a total lack thereof) leads to people not finding the information they need.
Interface: Has two meanings 1) As graphical user interface or text user interface it refers to functionality of a computer program that allows end users to interact with it. 2) The way programmers can interact with larger parts of code written by other people.
Maintainer: A person who is a →contributor who stays with the →project for a longer time and thus keeps it running, i.e. maintains it.
Open Data: Sharing data created by research projects to allow others to replicate a research or to use for other research questions.
Open Source Program Offices or OSPOs: Typically run by a company or an educational institution where there are staff dedicated to understanding how the program offering around open source in that particular institution or company operates and how it interacts with open source as a community externally and potentially how it contributes.
OS: Shortened form of Open Source. Used as a descriptive adverb or a noun.
Product: In this context, a software. The term is more common for commercial software that sells or rents the software.
Project: Here used as (Open Source) Project, which refers to both the software created and its community: people are “part of” a project as active participants in its creation. Interestingly, these “projects” have no defined end, as it would be with “projects” in many other contexts.
Reproducibility: A research result that can be “reproduced”, that is, replicated or repeated by another team of researchers. Within our research, this usually means that code and data are shared by the original researchers so that others can see if they come to the same conclusions. Reproducibility is a core principle in Karl Popper’s philosophy of science (Critical Rationalism).
Resources: The distinct elements that are at the disposal or for the use of the project or team as a whole primarily, people’s applied skills, inclusive of their time to do those skills and money. The term is probably not used much by developers and more by (project) managers, product managers, coordinators, budget managers or community organizers.
Source code: The text-based, human-readable representation of a computer program. From the source code, a running program can be created. Open Source Projects collaborate in writing the source code.
SROSS: Scientific Research Open Source Software
OSS: Open Source Software
OS: Open Source
S&R: Science and Research
User: “The user” is usually referring to an imagined archetype summarizing all relevant people using the software. Thus, different people imagine “the user” in different ways. Particularly in the context of open source and hacker culture it can also refer to a person considered unskilled and being “the other” to the hacker. The problem that the term can be nondescript and too encompassing is sometimes dealt with designers by using several more specific archetypes (“personas” or “user profiles”)
UX, UI, UX/UI: UX is the “user experience” of the use of a product, taking primarily the perspective of the user (and not the programmer or manager) when thinking about the design. UX Designers claim to design that experience, employing ideas from product design, user interface design and applied research. UI refers to the user interface, that is, what the user interacts with. There are different types of interfaces, but implicitly, UI often means a graphical interface with buttons and menus. UIs are designed by UI designers, who focus less on research or general product ideas than UX designers. Since UX is broad, but vague and UI overly focussed, these terms sometimes get combined to UX/UI: Concern for the user experience that, in practice, is often expressed via the (graphical) user interface. UX/UI can also be used as a general encompassing term when the exact distinction is not seen as important (as in “I never worked with UX/UI designers”)