mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-24 13:24:05 -06:00
3.3 KiB
3.3 KiB
| title | aliases | tags | sr-due | sr-interval | sr-ease | ||
|---|---|---|---|---|---|---|---|
| 22-open-source-software |
|
2022-06-19 | 3 | 250 |
Describe Origination
- how to floss projects get created
- forking an existing open source project
- mangement of existig project "run out of steam"
- users decide to take development of themselves
- some decides to apply an open source licence
- e.g., individual or member of team with appropriate responsibility
- forking an existing open source project
- Motivation for release as floss
- giving back to community
- seeking addition team members, code or otherwise
- grow ecosystem around the software system
- essentially a form of publicity
Detail Roles
- Team shape
- depends of specifics and scale of project
- small projects often driven by an individual
- a few developers collaborate closely - often code founders
- large potentially open team combine contributions
- different jobs and skill sets beyond coding
- documentation - creating and updating
- code review - pre-merge and post-merge quality control
- testing - developing tests (or test suites), and reporting back user bugs
- community - keeping team motivated and focused
Contrast Governance vs management
- mangement
- day to day decisions
- governance
- controlling overall roadmap
- setting priorities to reach intended milestones
- often a spectrum between
- commercial organisation that retain ownership
- open community-led approach
- community-led governance needs agreed stucture
- e.g., executive, committees, voting process for key decisions
Sketch OSS foundations
# sharing development and governance
- required governance processes similar in big projects
- can benefit from manageing multiple projects together
- e.g. apache software foundation (ASF)
- american non-profit
- manages more than 350 projects
- can share governance, management, and commounity
- conferences (apacheCon) bringing community together
- many others e.g., free software foundation (GNU)
Incubation into open source foundations
- foundations reputation: projects must he high quality
- but also want to be boradly accepting
- ASF has Apache incubator
- new projects gain inital ASF linkage
- see if projects demonstrate continued development activity
- see if projects are popular iwth end users
- Large organisations can donate code to incubator
- need to be sure that code can be maintained
- e.g., google wave
Understand sustainability challenges
- need mechanisms to keep project resouced
- e.g., financial support for key developers
- sustainability - software is seldom "finished"
- new features require development
- bugs need fiing, but hobbyists don't give 24/7 service
- older code within project may need maintenance
- Development path can become contentious
- e.g., too slow, or percieved to be in wrong direction
- ...which can lead to project forks and split community
- e.g., too slow, or percieved to be in wrong direction
Examples
- PEP python enchancement proposal
- usually focis on language feature additions or changes
- but sometimes relate to the governance of Python
- PEP approval process involves input from:
- python community
- python steering council
- Guido van rossum was 'benevolent dictator for life'
- st ood d
- JCP java community process

