Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Managing requirements for a many-thousands cont...
Search
flaper87
February 21, 2016
Programming
110
0
Share
Managing requirements for a many-thousands contributors software
flaper87
February 21, 2016
More Decks by flaper87
See All by flaper87
Inheriting code… and I don’t mean classes
flaper87
0
280
Don't try to look smart, be smart
flaper87
0
190
Keeping up with the pace of a fast growing community without dying
flaper87
0
200
A walk to remember: Debugging a distributed system failure
flaper87
0
220
Fast-forward to today's Zaqar
flaper87
0
160
Breaking Backwards Compatibility: The easy way
flaper87
1
170
A functional view to Rust
flaper87
1
160
Rust - A walk to concurrency
flaper87
3
610
Kilo Plans for OpenStack Messaging
flaper87
0
210
Other Decks in Programming
See All in Programming
決定論 vs 確率論:Gemini 3 FlashとTF-IDFを組み合わせた「法規判定エンジン」の構築
shukob
0
150
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.5k
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
2
270
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
310
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
ソースコード→AST→オペコード、の旅を覗いてみる
o0h
PRO
1
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
440
Programming with a DJ Controller — not vibe coding
m_seki
3
740
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
390
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
2
170
AIと共に生きる技術選定 2026
sgash708
0
120
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
160
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
110
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Leo the Paperboy
mayatellez
7
1.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
120
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
170
A Tale of Four Properties
chriscoyier
163
24k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Transcript
Managing requirements for a >1k contributors software
None
dafuq?, smiling cat?
For attending Still here feel free to interrupt @flaper87
[email protected]
None
The problem Co-Installable software What do we depend on? Requirements
Synced
What do we depend on? License requirements Binary vs Pure
Python Py27 / Py34 support
What do we depend on? License requirements Binary vs Pure
Python Py27 / Py34 support
What do we depend on? License requirements Binary vs Pure
Python Py27 / Py34 support
What do we depend on? License requirements Binary vs Pure
Python Py27 / Py34 support
requirements >= synced Project 1 Project 2 Project 3 Project
N
Co-Installable software Compute Requirements Storage Requirements Network Requirements
Co-Installable software Compute Requirements Storage Requirements Network Requirements openstack libraries
Third-Party libraries transitive dependencies
Co-Installable software Essential for integration tests
OpenStack [...] to produce the ubiquitous Open Source Cloud Computing
platform that will meet the needs of public and private clouds regardless of size, by being simple to implement and massively scalable. [...]
Compute & storage We’ve been adding new projects to the
ecosystem ever since OpenStack was created
Compute & storage auth We’ve been adding new projects to
the ecosystem ever since OpenStack was created
Compute & storage db auth We’ve been adding new projects
to the ecosystem ever since OpenStack was created
Compute & storage Network db auth We’ve been adding new
projects to the ecosystem ever since OpenStack was created
Compute & storage Network Messages db auth We’ve been adding
new projects to the ecosystem ever since OpenStack was created
Compute & storage Network Messages db auth Images We’ve been
adding new projects to the ecosystem ever since OpenStack was created
Compute & storage Images DB net auth All these projects
ought to be able to run under the same environment
Centralized requirements
For every requirement file Main Tests Extra
For every requirement file Direct & Transitive
For every requirement file Internal & Third-Party
Not editable mode (-e)
Not external source (-f)
CI Job forbidding untracked requirements
minimum Working version
No Dependency Caps
Requirements Constraints
1 2 3 4 Does it have an acceptable license?
Is it Py3 compatible? Is it actively maintained? Is it packaged already? 5 Does something similar exists already? Ask yourself these questions
... Or you can just ignore this ...
1 2 3 4 Use the minimum version possible Avoid
dependencies that don’t do semver Capping is not always good Favor things on PyPi 5 Keep track of transitive dependencies Summary-ish
Questions?