Your SlideShare is downloading. ×
0
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
How to be a distribution-friendly project
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

How to be a distribution-friendly project

1,152

Published on

Getting your program integrated into Linux distributions will help to increase its adoption and to ensure that users have it well-integrated into their systems and kept up-to-date easily. Gentoo Linux …

Getting your program integrated into Linux distributions will help to increase its adoption and to ensure that users have it well-integrated into their systems and kept up-to-date easily. Gentoo Linux has more than 13,000 packages, and Donnie will share his extensive experience creating and maintaining Gentoo packages and offer suggestions for improvement.

Technical and philosophical questions that determine how easy or difficult it is for distribution packagers to work with upstream developers will be discussed. Technical issues include the basic metaphor that a package\'s build and installation process is an API to distribution packages -- it should be changed carefully and purposefully, and changes should be well-documented. In addition, Donnie will describe the level of control and system integration desired by packagers. Philosophical issues, including user expectations and licensing requirements, differ between distributions and can cause major conflicts with upstream developers. Finally, Donnie will discuss developments toward the future of distribution packaging so that upstream developers can consider how this fits into the future of their software.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,152
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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>

×