- Follow Open-Source practices to contribute to a shared project. - Explain how different technologies can help to organize Open-Source work. - Apply them in a **realistic setting of multiple contributors**
## TODO: Sumary: Key concepts and processes - Fork - Pull request - Maintainer - ...
https://opensource.org/osd > “Open source promotes universal access via an open-source license to a product’s design or blueprint”
Each license governs how software can be reused or altered.
> “Given enough eyeballs, all bugs are shallow.” – Linus’s Law
- Recreating the top 50 OSS packages alone would cost ~$4.2B.
https://www.library.hbs.edu/working-knowledge/open-source-software-the-nine-trillion-resource-companies-take-for-granted
https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps Steve Ballmer, Microsoft CEO, 2001 interview with the Chicago Sun-Times Satya Nadella, Microsoft CEO, 2014 keynote at Connect();
> The bazaar model is not just for code — it's reshaping how organizations work. (Fitzgerald & Stol, 2016) Note: examples: GitLab Fitzgerald and Stol: the bazaar model from open-source development is influencing broader organizational practices—reshaping how teams collaborate, coordinate, and govern beyond code. Crowston and Howison (2005) https://github.com/InnerSourceCommons/awesome-innersource https://innersourcecommons.org/stories/
# TODO: Technical/Git-based... Concepts and principles for collaborative Open-Source work Principles/Technical/Conceptual foundations - Transparent versioning: code, people, and processes are visible and enable stigmergic coordination - Openness to modifications: everyone can create issues, suggest specific code modifications, or fork the project - Control of contributions: maintainers can review changes proposed in pull request (with the help of [code quality checkers](https://pre-commit.ci/), [automated builds and tests](https://docs.github.com/en/actions/automating-builds-and-tests), and [GenAI Code Review](https://github.com/marketplace/actions/code-review-with-chatgpt)), request changes, and decide whether or not to merge the contributions
- [GitHub Actions for automated builds and tests](https://docs.github.com/en/actions/automating-builds-and-tests)
- **Branching strategies:** Open-source projects often follow structured branching models (e.g., `main`, `dev`, `feature/*`) to isolate development work and ensure production stability. Note: Powerful and efficient model - almost no limitations for modifications (even forks are possible) - introduces variation - very efficient control mechanisms
Underlying: - Intrinsic motivation replacing extrinsic rewards (money) - How to work with existing resources (code): the question shifts from the initial creation of code to the assessment, selection and reuse of existing code. Even ideation is crowd-sourced (see 11) - Incremental work is useful to coordinating across development efforts. - Linus law (8): assumption that every non-trivial program has bugs. The question shifts from the prevention of bugs to the detection and fixing of bugs. The fixing by the community is only possible when the code is open. This is particularly relevant for security issues.
TODO : afterwards, we have a good basis to compare/evaluate open-source projects (commits/contributors/pull-requests/issues) Self-selection: inefficient for beginners, for tasks that are not attractive, or tasks that are not visible, or tasks that are too challenging Coordination problems: often addressed by forks (redundant work) Need for code of conduct, ... --- # Open-Source philosophy values --- # Open-Source challenges Challenges? - How to facilitate self-selection into tasks (especially beginners) - Tone/code of conduct (refer to control theory - clan control) - Mention possibility of multiple forks (intention to contribute to the original project vs. to create a new project) - TBD: licenses (associated values) -> methods / leadership / control questions Later: add: The technologies and organizing best practices (solutions) https://www.coursera.org/learn/open-source-software-development-methods#syllabus https://whatthediff.ai/ https://github.com/marketplace/what-the-diff -> AI / prompting to rewrite code / to summarize pull requests
https://firstmonday.org/ojs/index.php/fm/article/download/1207/1127