Building the ideal service for Free and Open-Source Software (FOSS)
Me
I'm Victor!
Open-Services
A Framework for Running FOSS Services
Why?
FOSS Infrastructure should run in the same spirit as FOSS
- FOSS dependency on for-profit, closed-source services
- Availability of the open service depends on the profitability of the closed service
Why?
Centralization & Collaboration is a people problem, not a technological one
Why?
Replicate long-term public services from AFK / Real-World
Why?
Having to re-invest time for every new service
Why?
Find the balance between
long-term & stagnation
Why?
Slow public utilities lasting forever
Fast moving companies lasting for a couple of years
Features of the ideal FOSS service
Works
Features
Independent
Features
Available for Free / Gratis
Features
but could have paid limitations
Transparent
Features
FOSS
Features
Everyone can help
Features
Long-Term
Features
Cheap to Operate
Features
Reproducible & Automated
Features
Local / Remote
Features
Open-Services Framework
(Version 1)
Finance
- Self-Funded
- Automatic Payment of Expenses
- Public History of Financing
- Efficient Use of Funds
- Shutdown Scenario In Mind
Infrastructure
- Automatic Infrastructure
- Public Introspection
- Shared Secrets Access / Reducing Busfactor
Governance
- Full Transparency
- Governed by the Community
- Migration possible for change of governance rules
Product
- Might not allow incompatible changes at all (not really set in stone, yet)
- Full Export Functionality
- Automatic Export On Shutdown (if possible)
- Local-first
- Compatible with existing services if possible
- Only one product category
- Explicit Phases
Explicit Phases
- Evaluating
- Starting
- Operating
- Closing
- Closed
Where are we now?
Open-Services Framework Version 1
Expanding the framework
Open-Service Framework Version 2
Make voting easy
Figure out how to collaboratively build roadmaps
Automatic Infrastructure
Automatic
Financing
Open-Registry
Open-Registry
A Package Registry for FOSS
Features
Implements Open-Services Framework
Features
Proxy to npm Inc registry
Features
Future Plans
Support multiple JavaScript registries
Future Plans
Alternative for other for-profit registries
Future Plans
Cryptographically signed packages
Future Plans
Build server for secure & reproducible builds
Future Plans
Web of Trust for finding trusted packages
Future Plans
How to use
# To start using Open-Registry
npm config set registry https://npm.open-registry.dev
# To stop using Open-Registry
npm config delete registryHow to use (P2P)
# Install Bolivar
go get -v -u github.com/open-services/bolivar
# Or download binary from https://github.com/open-services/bolivar/releases
# Run Bolivar
bolivar
# To start using Open-Registry via Bolivar
npm config set registry http://localhost:8080
# To stop using Open-Registry
npm config delete registryWas a feature for the future but is now a feature of today
Introducing
Palomo
Portable Package Registry
you can bring with you
Palomo
-
Portable Package Registry you can bring with you
- Runs on Android/PC
- Built in Golang
- Using IPFS/libp2p
- P2P fetching via smartphones
- Dragons Ahead

How you can help?
- Contribute code/time
- Contribute funds
- Help discuss current open questions
- Help design websites and the UX
- Spread the word
- Improve existing docs
- Help maintain/improve the infrastructure
Thank you!
Slides with tons of links will be uploaded tomorrow, follow @VictorBjelkholm on Twitter for updates
Questions?

❤️❤️❤️❤️❤️❤️
Building the ideal service for Free and Open-Source Software (FOSS)
By Victor Bjelkholm
Building the ideal service for Free and Open-Source Software (FOSS)
Presentation made at opo.js #9 the 19th of June, 2019.
- 282