SlideShare a Scribd company logo
Greetings
from SlackBuilds.org
David Spencer
pkgsrcCon 2017
About SBo
11 years old
conventional ports-inspired setup
● from source ftw
● shell script + metadata
~6500 packages
disjoint from core Slackware (~1400 packages)
lightweight project
one new server, one old server
About SBo
~250 maintainers active in last year
~12500 commits in last year
no bugtracker
no CI
● Infrastructure is a productivity killer
● Aggressively reductionist on dep management
● Vanilla from upstream, patch only when needed
● Don’t split packages
● git git baby
About SBo
submissions are open
ambition to submit ‘something’ is a thing
maintainers drop in and drop out
review must be sympathetic
volunteers are a pipeline not a funnel
don’t crush people’s dreams
maintainer is expert on the software
reviewer (admin) is expert on good packaging
no room for style variations
About SBo
Education needs to be a thing
No time in review
feedback hurts, doesn’t scale
Currently done on mailing list & forum
● CI as education
Listening
systemd refugees
rolling release
● stable versus current
out of date / security / unmaintained upstream
disappearing SBo maintainers
disappearing sources and projects
● repology
● keeps mailing list active
Happy community
Users helping each other
Tools
Satellite projects
Package all the obscure things
● if it exists it will attract users
Unopened letter to the world
Need to educate upstreams
proper releases with proper tarballs
don’t move or delete old tarballs
learn to write a decent Makefile
no, I don’t want your stinking CFLAGS
don’t use -Werror
the world isn’t Ubuntu, plz /usr/lib64 & /usr/man
no, we won’t stick with gcc-4.9 just for you
Biggest sewer - development/
Signs of the apocalypse
npm cargo pip bower gem cpan composer cabal
xmkmf qmake autotools cmake ninja scons jam
waf meson flatpak snappy bubblewrap docker
casync
● How many of these are you going to learn?
● Will they interwork?
● Where’s your support going to come from?
● Are you really going to keep them updated?
‘A new version is available!’ meme
What exactly do we do again?
Packaging is a filter, in the classic UNIX sense
● Input: arbitrary upstream software
● Processing: apply curated standards
– interoperability
– predictability
● Output: useful, usable and in use
None of the new paradigms do this
Let’s get together
Share microfixes
● discoverable repositories (cgit or gtfo)
Educate upstream developers
● your project isn’t worthless
your project isn’t special
Educate end users
● npm is not Cyber Jesus
Greetings from SlackBuilds.org

More Related Content

What's hot

Northwest Python Day 2009
Northwest Python Day 2009Northwest Python Day 2009
Northwest Python Day 2009
Ted Leung
 

What's hot (20)

Perl wants you
Perl wants youPerl wants you
Perl wants you
 
Ready, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming languageReady, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming language
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Understanding how concurrency work in os
Understanding how concurrency work in osUnderstanding how concurrency work in os
Understanding how concurrency work in os
 
Intro to Crystal Programming Language
Intro to Crystal Programming LanguageIntro to Crystal Programming Language
Intro to Crystal Programming Language
 
Master the Monorepo
Master the MonorepoMaster the Monorepo
Master the Monorepo
 
A brief intro to RubyMotion
A brief intro to RubyMotionA brief intro to RubyMotion
A brief intro to RubyMotion
 
Why don't you Groovy?
Why don't you Groovy?Why don't you Groovy?
Why don't you Groovy?
 
Rethinking React
Rethinking ReactRethinking React
Rethinking React
 
Northwest Python Day 2009
Northwest Python Day 2009Northwest Python Day 2009
Northwest Python Day 2009
 
Microservices - the lean way
Microservices - the lean wayMicroservices - the lean way
Microservices - the lean way
 
Go Is Your Next Language — Sergii Shapoval
Go Is Your Next Language — Sergii ShapovalGo Is Your Next Language — Sergii Shapoval
Go Is Your Next Language — Sergii Shapoval
 
Go at Skroutz
Go at SkroutzGo at Skroutz
Go at Skroutz
 
Wonders of Golang
Wonders of GolangWonders of Golang
Wonders of Golang
 
The state of Jenkins pipelines or do I still need freestyle jobs
The state of Jenkins pipelines or do I still need freestyle jobsThe state of Jenkins pipelines or do I still need freestyle jobs
The state of Jenkins pipelines or do I still need freestyle jobs
 
Devops is (not ) a buzzword
Devops is (not ) a buzzwordDevops is (not ) a buzzword
Devops is (not ) a buzzword
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Why You Should Start Using Docker
Why You Should Start Using DockerWhy You Should Start Using Docker
Why You Should Start Using Docker
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
 
Continuous operations in AWS
Continuous operations in AWSContinuous operations in AWS
Continuous operations in AWS
 

Similar to Greetings from SlackBuilds.org

icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
Manohar Kumar
 

Similar to Greetings from SlackBuilds.org (20)

Intro to CrunchBang / Linux Fest Northwest 2013
Intro to CrunchBang / Linux Fest Northwest 2013Intro to CrunchBang / Linux Fest Northwest 2013
Intro to CrunchBang / Linux Fest Northwest 2013
 
venv and pip.pdf
venv and pip.pdfvenv and pip.pdf
venv and pip.pdf
 
Building Better FLOSS Community Relationships @ FB
Building Better  FLOSS Community Relationships @ FBBuilding Better  FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FB
 
LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101LCE12: Intro Training: Upstreaming 101
LCE12: Intro Training: Upstreaming 101
 
Modern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl ProgrammerModern Perl for the Unfrozen Paleolithic Perl Programmer
Modern Perl for the Unfrozen Paleolithic Perl Programmer
 
LCA13: Upstreaming 101
LCA13: Upstreaming 101LCA13: Upstreaming 101
LCA13: Upstreaming 101
 
Upstreaming 1013
Upstreaming 1013Upstreaming 1013
Upstreaming 1013
 
Evolution or stagnation programming languages
Evolution or stagnation programming languagesEvolution or stagnation programming languages
Evolution or stagnation programming languages
 
Ice breaker with dev ops
Ice breaker with dev opsIce breaker with dev ops
Ice breaker with dev ops
 
Super lazy side projects - Hamik Mukelyan
Super lazy side projects - Hamik MukelyanSuper lazy side projects - Hamik Mukelyan
Super lazy side projects - Hamik Mukelyan
 
Building Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FBBuilding Better FLOSS Community Relationships @ FB
Building Better FLOSS Community Relationships @ FB
 
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLoveOSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
OSDC 2015: Kris Buytaert | From ConfigManagementSucks to ConfigManagementLove
 
Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017Jenkins in the real world - DevOpsCon 2017
Jenkins in the real world - DevOpsCon 2017
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
 
Going to library with angular
Going to library with angularGoing to library with angular
Going to library with angular
 
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
 
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
Daniele Esposti - Evolution or stagnation programming languages - Codemotion ...
 
Calico-eBPF-Dataplane-CNCF-Webinar-Slides.pdf
Calico-eBPF-Dataplane-CNCF-Webinar-Slides.pdfCalico-eBPF-Dataplane-CNCF-Webinar-Slides.pdf
Calico-eBPF-Dataplane-CNCF-Webinar-Slides.pdf
 
Angular Libraries & NPM
 Angular Libraries & NPM Angular Libraries & NPM
Angular Libraries & NPM
 
Python Experience in KKBOX Group
Python Experience in KKBOX GroupPython Experience in KKBOX Group
Python Experience in KKBOX Group
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 

Recently uploaded (20)

Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Strategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptxStrategies for Successful Data Migration Tools.pptx
Strategies for Successful Data Migration Tools.pptx
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 

Greetings from SlackBuilds.org

  • 2. About SBo 11 years old conventional ports-inspired setup ● from source ftw ● shell script + metadata ~6500 packages disjoint from core Slackware (~1400 packages) lightweight project one new server, one old server
  • 3. About SBo ~250 maintainers active in last year ~12500 commits in last year no bugtracker no CI ● Infrastructure is a productivity killer ● Aggressively reductionist on dep management ● Vanilla from upstream, patch only when needed ● Don’t split packages ● git git baby
  • 4. About SBo submissions are open ambition to submit ‘something’ is a thing maintainers drop in and drop out review must be sympathetic volunteers are a pipeline not a funnel don’t crush people’s dreams maintainer is expert on the software reviewer (admin) is expert on good packaging no room for style variations
  • 5. About SBo Education needs to be a thing No time in review feedback hurts, doesn’t scale Currently done on mailing list & forum ● CI as education
  • 6. Listening systemd refugees rolling release ● stable versus current out of date / security / unmaintained upstream disappearing SBo maintainers disappearing sources and projects ● repology ● keeps mailing list active
  • 7. Happy community Users helping each other Tools Satellite projects Package all the obscure things ● if it exists it will attract users
  • 8. Unopened letter to the world Need to educate upstreams proper releases with proper tarballs don’t move or delete old tarballs learn to write a decent Makefile no, I don’t want your stinking CFLAGS don’t use -Werror the world isn’t Ubuntu, plz /usr/lib64 & /usr/man no, we won’t stick with gcc-4.9 just for you Biggest sewer - development/
  • 9. Signs of the apocalypse npm cargo pip bower gem cpan composer cabal xmkmf qmake autotools cmake ninja scons jam waf meson flatpak snappy bubblewrap docker casync ● How many of these are you going to learn? ● Will they interwork? ● Where’s your support going to come from? ● Are you really going to keep them updated? ‘A new version is available!’ meme
  • 10. What exactly do we do again? Packaging is a filter, in the classic UNIX sense ● Input: arbitrary upstream software ● Processing: apply curated standards – interoperability – predictability ● Output: useful, usable and in use None of the new paradigms do this
  • 11. Let’s get together Share microfixes ● discoverable repositories (cgit or gtfo) Educate upstream developers ● your project isn’t worthless your project isn’t special Educate end users ● npm is not Cyber Jesus