SlideShare a Scribd company logo
How to be
a distribution-friendly project
(and why you should care!)




                      Donnie Berkholz
                       Gentoo Linux
    This presentation is licensed Creative Commons Attribution-ShareAlike
What does that mean?
    Distributions: Fedora, Debian, Gentoo, etc
●


    Packages are managed by the
●

    distribution, so you don't have to install by
    hand.
Why should you care?
“How to become
a bigger player?”
     - X. Gonze,
  24 March 2009
                                 Flickr: 3eyedmonsta


 Bigger user community == bigger developer
●

community. Same conversion percentage means
more developers.
●If you're in a distro, people will choose your

package over others that aren't. Assumption of
quality, low barrier to entry
●Distro will become the primary consumer channel
A unique opportunity
                    Using the GPL means you can get
                    into distributions that only allow
                    open source.
                    “We promise that the Debian system and all its
                    components will be free according to these
                    guidelines.”

                    “... Fedora will always be free for anybody, anywhere,
                    to use, modify and distribute.”

                    A distribution gives users a unified
                    interface so they don't need to know the
   Flickr: Kliefi
                    details of installing your package.
What does a
package do?
 It's a build script.
●

●Basic info (homepage, where

to download, license, optional
features)
●Functions to build it similar to a

manual build (fetch, unpack,
compile, install, etc)
How do you get software packaged?
                          I maintain 400-500
                         ●

                         packages
                         ●Time is the limiting

                         factor. Distribute
                         work to upstream
                         projects whenever
                         possible.
        Flickr: ToniVC
                         ●Make it as easy as

                         possible. Act like
                         other open-source
                         packages.
Philosophies
 Stability: Don't
●

change if avoidable.
                                  Stability
Figuring it out takes
a while.
●Control: give us the




                                    *
flexibility we need:
options, flags, etc.
●Knowledge about        Control               Knowledge
the first two
Stability
 Build process == API
●

●We access it like you

access libraries,
programmatically in a build
script
●If you change it, have a

reason and tell us why!
●Principle of Least Surprise
                                                           Flickr: tony.evans
        Versioning: “Stability” relative
    ●

        to other packages                   Stable relative to your past
        Same for build system.              releases, and stable (few
    ●


                                            changes) relative to other
                                            open-source projects
Control
    Bundling
●


      Don't bundle patches!
    ●


    ● Autodetect w/ manual override


    ● pkg-config


    Optional features
●


    Respect: environment, parallel build
●


    Installation: Put specific filetypes
●

    anywhere
    “Standard” build systems are easier
●

    for packagers because we already          Flickr: undergroundbastard
    know them
    WWGD: What Would GNU Do?
●
Knowledge
                       Document stability & control
                   ●


                           Steady state & changes
                       ●



                       PACKAGING file
                   ●


                           How to build
                       ●


                           Dependencies
                       ●


                           New releases
                       ●


                           Bugs/patches (open!)
                       ●

Flickr: tsmyther
                           Accessing current source
                       ●
The future of packaging
Generating packages
directly from bzr tags:
No tarballs involved




                               Flickr: Chris Seufert
Philosophies
 Stability: Don't
●

change if avoidable.
                                  Stability
Figuring it out takes
a while.
●Control: give us the




                                    *
flexibility we need:
options, flags, etc.
●Knowledge about        Control               Knowledge
the first two
Want to talk more?
                Packaging
              ●


              ● Encouraging

                new developers
              ● A copy of this

                presentation




Email: dberkholz@gentoo.org
Subject: ABINIT: <your topic>

More Related Content

What's hot

BayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardBayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardiXsystems
 
The True Story of FreeNAS
The True Story of FreeNASThe True Story of FreeNAS
The True Story of FreeNASiXsystems
 
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)iXsystems
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded LinuxSherif Mousa
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XiXsystems
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)iXsystems
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSDpycontw
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em PortuguêsOtavio Salvador
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yoctoAlex Gonzalez
 
Hosting Open Source Projects at the OSUOSL
Hosting Open Source Projects at the OSUOSLHosting Open Source Projects at the OSUOSL
Hosting Open Source Projects at the OSUOSLOSU Open Source Lab
 
See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]Vincent Batts
 
SELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made EasySELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made EasyKen Moore
 
[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategiesrahulbot
 
FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)iXsystems
 
2013 Indiana LinuxFest - Getting Started With PC-BSD
2013 Indiana LinuxFest -  Getting Started With PC-BSD2013 Indiana LinuxFest -  Getting Started With PC-BSD
2013 Indiana LinuxFest - Getting Started With PC-BSDKen Moore
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsoniXsystems
 
Linux Kernel Introduction
Linux Kernel IntroductionLinux Kernel Introduction
Linux Kernel IntroductionSage Sharp
 

What's hot (20)

BayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan HubbardBayLISA - FreeNAS 10 by Jordan Hubbard
BayLISA - FreeNAS 10 by Jordan Hubbard
 
Linux basics (part 2)
Linux basics (part 2)Linux basics (part 2)
Linux basics (part 2)
 
The True Story of FreeNAS
The True Story of FreeNASThe True Story of FreeNAS
The True Story of FreeNAS
 
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)UCL All of the Things (MeetBSD California 2014 Lightning Talk)
UCL All of the Things (MeetBSD California 2014 Lightning Talk)
 
Building Embedded Linux
Building Embedded LinuxBuilding Embedded Linux
Building Embedded Linux
 
NeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD XNeXTBSD aka FreeBSD X
NeXTBSD aka FreeBSD X
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
 
Python on FreeBSD
Python on FreeBSDPython on FreeBSD
Python on FreeBSD
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em Português
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
 
Hosting Open Source Projects at the OSUOSL
Hosting Open Source Projects at the OSUOSLHosting Open Source Projects at the OSUOSL
Hosting Open Source Projects at the OSUOSL
 
See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]See Hudson Run, Run Hudson, Run [SELF 2010]
See Hudson Run, Run Hudson, Run [SELF 2010]
 
Embedded Systems
Embedded SystemsEmbedded Systems
Embedded Systems
 
SELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made EasySELF 2014: PBI v10: Application Management Made Easy
SELF 2014: PBI v10: Application Management Made Easy
 
[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies[Mas 500] Software Development Strategies
[Mas 500] Software Development Strategies
 
BusyBox for Embedded Linux
BusyBox for Embedded LinuxBusyBox for Embedded Linux
BusyBox for Embedded Linux
 
FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)FreeBSD: The Next 10 Years (MeetBSD 2014)
FreeBSD: The Next 10 Years (MeetBSD 2014)
 
2013 Indiana LinuxFest - Getting Started With PC-BSD
2013 Indiana LinuxFest -  Getting Started With PC-BSD2013 Indiana LinuxFest -  Getting Started With PC-BSD
2013 Indiana LinuxFest - Getting Started With PC-BSD
 
Introduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John HixsonIntroduction to FreeNAS development by John Hixson
Introduction to FreeNAS development by John Hixson
 
Linux Kernel Introduction
Linux Kernel IntroductionLinux Kernel Introduction
Linux Kernel Introduction
 

Similar to How to be a distribution-friendly project

TechMentor Fall, 2011 - Packaging Software for Automated Deployment with Wind...
TechMentor Fall, 2011 - Packaging Software for Automated Deployment with Wind...TechMentor Fall, 2011 - Packaging Software for Automated Deployment with Wind...
TechMentor Fall, 2011 - Packaging Software for Automated Deployment with Wind...Concentrated Technology
 
A multi-dimensional analysis of technical lag in Debian-based Docker images
A multi-dimensional analysis of technical lag in Debian-based Docker imagesA multi-dimensional analysis of technical lag in Debian-based Docker images
A multi-dimensional analysis of technical lag in Debian-based Docker imagesAhmed Zerouali
 
The Gory Details of Debian packages
The Gory Details of Debian packagesThe Gory Details of Debian packages
The Gory Details of Debian packagesJeremiah Foster
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfNCCOMMS
 
Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 201244CON
 
Containers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingContainers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingDmitry Spodarets
 
Docker Online Meetup #3: Docker in Production
Docker Online Meetup #3: Docker in ProductionDocker Online Meetup #3: Docker in Production
Docker Online Meetup #3: Docker in ProductionDocker, Inc.
 
Instruction to build Apache CloudStack docs with Sphinx
Instruction to build Apache CloudStack docs with SphinxInstruction to build Apache CloudStack docs with Sphinx
Instruction to build Apache CloudStack docs with SphinxGo Chiba
 
VIB - Very Important Bundles
VIB - Very Important BundlesVIB - Very Important Bundles
VIB - Very Important BundlesRoman Roelofsen
 
Nix same; same not different
Nix  same; same not differentNix  same; same not different
Nix same; same not differentKeidrych ...
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with GitLuigi De Russis
 
eBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfeBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfseo18
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embeddedAlison Chaiken
 
Distributions and package management in the containers era
Distributions and package management in the containers eraDistributions and package management in the containers era
Distributions and package management in the containers eranussbauml
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectYen-Chin Lee
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenvamenasse
 

Similar to How to be a distribution-friendly project (20)

TechMentor Fall, 2011 - Packaging Software for Automated Deployment with Wind...
TechMentor Fall, 2011 - Packaging Software for Automated Deployment with Wind...TechMentor Fall, 2011 - Packaging Software for Automated Deployment with Wind...
TechMentor Fall, 2011 - Packaging Software for Automated Deployment with Wind...
 
OpenEmbedded
OpenEmbeddedOpenEmbedded
OpenEmbedded
 
A multi-dimensional analysis of technical lag in Debian-based Docker images
A multi-dimensional analysis of technical lag in Debian-based Docker imagesA multi-dimensional analysis of technical lag in Debian-based Docker images
A multi-dimensional analysis of technical lag in Debian-based Docker images
 
The Gory Details of Debian packages
The Gory Details of Debian packagesThe Gory Details of Debian packages
The Gory Details of Debian packages
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
 
Polstra 44con2012
Polstra 44con2012Polstra 44con2012
Polstra 44con2012
 
Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012
 
Containers for Science and High-Performance Computing
Containers for Science and High-Performance ComputingContainers for Science and High-Performance Computing
Containers for Science and High-Performance Computing
 
Docker Online Meetup #3: Docker in Production
Docker Online Meetup #3: Docker in ProductionDocker Online Meetup #3: Docker in Production
Docker Online Meetup #3: Docker in Production
 
Instruction to build Apache CloudStack docs with Sphinx
Instruction to build Apache CloudStack docs with SphinxInstruction to build Apache CloudStack docs with Sphinx
Instruction to build Apache CloudStack docs with Sphinx
 
VIB - Very Important Bundles
VIB - Very Important BundlesVIB - Very Important Bundles
VIB - Very Important Bundles
 
Nix same; same not different
Nix  same; same not differentNix  same; same not different
Nix same; same not different
 
Python in Action (Part 2)
Python in Action (Part 2)Python in Action (Part 2)
Python in Action (Part 2)
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
eBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdfeBPF — Divulging The Hidden Super Power.pdf
eBPF — Divulging The Hidden Super Power.pdf
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embedded
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Distributions and package management in the containers era
Distributions and package management in the containers eraDistributions and package management in the containers era
Distributions and package management in the containers era
 
Build your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto projectBuild your own embedded linux distributions by yocto project
Build your own embedded linux distributions by yocto project
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
 

More from Donnie Berkholz

Pricing and Packaging in Covid-19 Times - Heavybit
Pricing and Packaging in Covid-19 Times - HeavybitPricing and Packaging in Covid-19 Times - Heavybit
Pricing and Packaging in Covid-19 Times - HeavybitDonnie Berkholz
 
Open Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old CompanyOpen Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old CompanyDonnie Berkholz
 
Open Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old CompanyOpen Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old CompanyDonnie Berkholz
 
Discovering rivers & building bridges: DevOps @ CWT
Discovering rivers & building bridges: DevOps @ CWTDiscovering rivers & building bridges: DevOps @ CWT
Discovering rivers & building bridges: DevOps @ CWTDonnie Berkholz
 
Assholes are killing your project (MDC 2017)
Assholes are killing your project (MDC 2017)Assholes are killing your project (MDC 2017)
Assholes are killing your project (MDC 2017)Donnie Berkholz
 
Reality Check: How much influence do developers really have?
Reality Check: How much influence do developers really have?Reality Check: How much influence do developers really have?
Reality Check: How much influence do developers really have?Donnie Berkholz
 
Cloud Native: A dose of reality
Cloud Native: A dose of realityCloud Native: A dose of reality
Cloud Native: A dose of realityDonnie Berkholz
 
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...Cloud Native in the Enterprise: Real-World Data on Container and Microservice...
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...Donnie Berkholz
 
Mining the Go Developer Community
Mining the Go Developer CommunityMining the Go Developer Community
Mining the Go Developer CommunityDonnie Berkholz
 
DevOps 101+: From collaboration to microservices
DevOps 101+: From collaboration to microservicesDevOps 101+: From collaboration to microservices
DevOps 101+: From collaboration to microservicesDonnie Berkholz
 
How the rise of DevOps and containers is transforming IT service delivery
How the rise of DevOps and containers is transforming IT service deliveryHow the rise of DevOps and containers is transforming IT service delivery
How the rise of DevOps and containers is transforming IT service deliveryDonnie Berkholz
 
How IT will disrupt in 2016: The ITaaS imperative
How IT will disrupt in 2016: The ITaaS imperativeHow IT will disrupt in 2016: The ITaaS imperative
How IT will disrupt in 2016: The ITaaS imperativeDonnie Berkholz
 
The OpenStack Pulse: Containers and Platforms
The OpenStack Pulse: Containers and PlatformsThe OpenStack Pulse: Containers and Platforms
The OpenStack Pulse: Containers and PlatformsDonnie Berkholz
 
Commit yourself already: Contributing to open source
Commit yourself already: Contributing to open sourceCommit yourself already: Contributing to open source
Commit yourself already: Contributing to open sourceDonnie Berkholz
 
Microservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyondMicroservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyondDonnie Berkholz
 
Can we compare communities or are they all unique snowflakes?
Can we compare communities or are they all unique snowflakes?Can we compare communities or are they all unique snowflakes?
Can we compare communities or are they all unique snowflakes?Donnie Berkholz
 
How microservices are redefining modern application architecture
How microservices are redefining modern application architectureHow microservices are redefining modern application architecture
How microservices are redefining modern application architectureDonnie Berkholz
 
DevOps, containers & microservices: Separating the hype from the reality
DevOps, containers & microservices: Separating the hype from the realityDevOps, containers & microservices: Separating the hype from the reality
DevOps, containers & microservices: Separating the hype from the realityDonnie Berkholz
 
Emerging trends in software development: The next generation of storage
Emerging trends in software development: The next generation of storageEmerging trends in software development: The next generation of storage
Emerging trends in software development: The next generation of storageDonnie Berkholz
 

More from Donnie Berkholz (20)

Pricing and Packaging in Covid-19 Times - Heavybit
Pricing and Packaging in Covid-19 Times - HeavybitPricing and Packaging in Covid-19 Times - Heavybit
Pricing and Packaging in Covid-19 Times - Heavybit
 
Open Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old CompanyOpen Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old Company
 
Open Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old CompanyOpen Source & Open Community at a 100-Year-Old Company
Open Source & Open Community at a 100-Year-Old Company
 
Discovering rivers & building bridges: DevOps @ CWT
Discovering rivers & building bridges: DevOps @ CWTDiscovering rivers & building bridges: DevOps @ CWT
Discovering rivers & building bridges: DevOps @ CWT
 
Assholes are killing your project (MDC 2017)
Assholes are killing your project (MDC 2017)Assholes are killing your project (MDC 2017)
Assholes are killing your project (MDC 2017)
 
Reality Check: How much influence do developers really have?
Reality Check: How much influence do developers really have?Reality Check: How much influence do developers really have?
Reality Check: How much influence do developers really have?
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Cloud Native: A dose of reality
Cloud Native: A dose of realityCloud Native: A dose of reality
Cloud Native: A dose of reality
 
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...Cloud Native in the Enterprise: Real-World Data on Container and Microservice...
Cloud Native in the Enterprise: Real-World Data on Container and Microservice...
 
Mining the Go Developer Community
Mining the Go Developer CommunityMining the Go Developer Community
Mining the Go Developer Community
 
DevOps 101+: From collaboration to microservices
DevOps 101+: From collaboration to microservicesDevOps 101+: From collaboration to microservices
DevOps 101+: From collaboration to microservices
 
How the rise of DevOps and containers is transforming IT service delivery
How the rise of DevOps and containers is transforming IT service deliveryHow the rise of DevOps and containers is transforming IT service delivery
How the rise of DevOps and containers is transforming IT service delivery
 
How IT will disrupt in 2016: The ITaaS imperative
How IT will disrupt in 2016: The ITaaS imperativeHow IT will disrupt in 2016: The ITaaS imperative
How IT will disrupt in 2016: The ITaaS imperative
 
The OpenStack Pulse: Containers and Platforms
The OpenStack Pulse: Containers and PlatformsThe OpenStack Pulse: Containers and Platforms
The OpenStack Pulse: Containers and Platforms
 
Commit yourself already: Contributing to open source
Commit yourself already: Contributing to open sourceCommit yourself already: Contributing to open source
Commit yourself already: Contributing to open source
 
Microservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyondMicroservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyond
 
Can we compare communities or are they all unique snowflakes?
Can we compare communities or are they all unique snowflakes?Can we compare communities or are they all unique snowflakes?
Can we compare communities or are they all unique snowflakes?
 
How microservices are redefining modern application architecture
How microservices are redefining modern application architectureHow microservices are redefining modern application architecture
How microservices are redefining modern application architecture
 
DevOps, containers & microservices: Separating the hype from the reality
DevOps, containers & microservices: Separating the hype from the realityDevOps, containers & microservices: Separating the hype from the reality
DevOps, containers & microservices: Separating the hype from the reality
 
Emerging trends in software development: The next generation of storage
Emerging trends in software development: The next generation of storageEmerging trends in software development: The next generation of storage
Emerging trends in software development: The next generation of storage
 

Recently uploaded

Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...Product School
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 

Recently uploaded (20)

Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 

How to be a distribution-friendly project

  • 1. How to be a distribution-friendly project (and why you should care!) Donnie Berkholz Gentoo Linux This presentation is licensed Creative Commons Attribution-ShareAlike
  • 2. What does that mean? Distributions: Fedora, Debian, Gentoo, etc ● Packages are managed by the ● distribution, so you don't have to install by hand.
  • 3. Why should you care? “How to become a bigger player?” - X. Gonze, 24 March 2009 Flickr: 3eyedmonsta Bigger user community == bigger developer ● community. Same conversion percentage means more developers. ●If you're in a distro, people will choose your package over others that aren't. Assumption of quality, low barrier to entry ●Distro will become the primary consumer channel
  • 4. A unique opportunity Using the GPL means you can get into distributions that only allow open source. “We promise that the Debian system and all its components will be free according to these guidelines.” “... Fedora will always be free for anybody, anywhere, to use, modify and distribute.” A distribution gives users a unified interface so they don't need to know the Flickr: Kliefi details of installing your package.
  • 5. What does a package do? It's a build script. ● ●Basic info (homepage, where to download, license, optional features) ●Functions to build it similar to a manual build (fetch, unpack, compile, install, etc)
  • 6. How do you get software packaged? I maintain 400-500 ● packages ●Time is the limiting factor. Distribute work to upstream projects whenever possible. Flickr: ToniVC ●Make it as easy as possible. Act like other open-source packages.
  • 7. Philosophies Stability: Don't ● change if avoidable. Stability Figuring it out takes a while. ●Control: give us the * flexibility we need: options, flags, etc. ●Knowledge about Control Knowledge the first two
  • 8. Stability Build process == API ● ●We access it like you access libraries, programmatically in a build script ●If you change it, have a reason and tell us why! ●Principle of Least Surprise Flickr: tony.evans Versioning: “Stability” relative ● to other packages Stable relative to your past Same for build system. releases, and stable (few ● changes) relative to other open-source projects
  • 9. Control Bundling ● Don't bundle patches! ● ● Autodetect w/ manual override ● pkg-config Optional features ● Respect: environment, parallel build ● Installation: Put specific filetypes ● anywhere “Standard” build systems are easier ● for packagers because we already Flickr: undergroundbastard know them WWGD: What Would GNU Do? ●
  • 10. Knowledge Document stability & control ● Steady state & changes ● PACKAGING file ● How to build ● Dependencies ● New releases ● Bugs/patches (open!) ● Flickr: tsmyther Accessing current source ●
  • 11. The future of packaging Generating packages directly from bzr tags: No tarballs involved Flickr: Chris Seufert
  • 12. Philosophies Stability: Don't ● change if avoidable. Stability Figuring it out takes a while. ●Control: give us the * flexibility we need: options, flags, etc. ●Knowledge about Control Knowledge the first two
  • 13. Want to talk more? Packaging ● ● Encouraging new developers ● A copy of this presentation Email: dberkholz@gentoo.org Subject: ABINIT: <your topic>