SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
The Lives of Others
Open-Source Development Practices Elsewhere


              Peter Eisentraut

             Senior Software Engineer
                Lab Development
              F-Secure Corporation


                PGCon 2009
Ground Rules




               I don’t know
               everything.
               If you are involved
               in other projects,
               chime in.
               Discussion
               welcome
Whom To Learn From?

    Look at the biggest
    open-source projects
    Metric: installation
    footprint, installation
    count
    Where to find those
    numbers?
         the Universal Debian
         Database
         doesn’t count OS
         distributions such as
         Debian, Fedora,
         FreeBSD,
         OpenSolaris
         Java also
         underrepresented
Sidetrack: The Universal Debian Database


  Example: query for packages with largest install footprint and
  popularity

  SELECT rank() OVER (ORDER BY score DESC),
         source,
         sum(installed_size::numeric * insts) AS score
  FROM packages JOIN popcon_src USING (source)
  WHERE distribution = 'debian'
    AND release = 'lenny'
    AND component = 'main'
    AND architecture IN ('all', 'i386')
  GROUP BY source
  ORDER BY score DESC
  LIMIT 100;
The Biggest Projects




  OpenOffice.org, Linux, GCC, GCJ, Qt, Mesa, KDE, Glibc,
  Firefox, MySQL, Boost, Perl, Samba, LDP, Vim, Gtk+, FFmpeg,
  OPAL, Evolution, OpenJDK, Gtk−−, wxWidgets, PyQt, Gimp, TeX Live,
  X.org, SCOWL, OpenSSL, Thunderbird, Xalan, Berkeley DB, ncurses,
  Foomatic, SELinux, Gutenprint, PHP, GNU binutils, Python, KOffice, Wine, Ruby, ICU,
  LAPACK, Webkit, PostgreSQL, glib, libsigc++, Inkscape, PWLib, GNOME, Apache, HPLIP, Xerces,
  Libxml, GNU Gettext, CUPS, SANE, Net-SNMP, Ghostscript, Mono, Eclipse, Pidgin
PostgreSQL — A Role Model?




  Things to keep in mind:
   1. Process details are hard to gather for outsiders.
   2. Other projects are not without problems.
   3. Many of them have worse problems than we do.
   4. Others look at the PostgreSQL project for advice and
      inspiration.
   5. It’s amazing that anything gets done. :-)
Version Control




     In the lead: Git, Subversion
     Also-rans: CVS, Mercurial, Bazaar
     Commercial systems phased out
     Automatic conversion services in use
Build Tools




     Autotools continue to rule!
     CMake might be challenger
         well-known usage: KDE, MySQL (for Windows only)
         uptake still slow (88 of 12000 packages in Debian)
     That’s it, for C programs.
Documentation Tools



     DocBook emerged as the standard.
         XML vs. SGML
     Texinfo (only at GNU)
     man pages
     HTML
     some specialized solutions:
         Python: reStructuredText
         Perl: Perldoc
         Qt: qdoc
Discussion Forums




     Mailing lists are clearly the standard.
     But don’t argue about Reply-To!
     Usenet is dead. :-)
     Web-forums serve support requests and newbies better.
     . . . and then there are bug-tracking systems.
Bug Tracking




     Bugzilla is king (often heavily themed and customized).
     contenders: Roundup, Jira, *forge
     marginal: RT
Coding Styles




     Coding style appears to be an issue specific to C/C++.
     Besides the GNU style, various random styles can be
     found.
     CVS $Keywords$ are pretty much gone.
     Patch styles (-c vs. -u) are an unsettled issue.
Wikis




        About 1/3 of projects have active wikis.
        MediaWiki is most popular.
The Foundries

     Project-specific *forge services are rare.
     More popular: Common repo and Bugzilla for everyone.
     This has implications for management of sub-/sister
     projects.
Write Your Own Tools



  Some tools are side-products of other projects:
      ccache
      tmalloc
      distcc
      Bugzilla
      PatchTracker
      Contributions to build tools (autoconf, cmake, etc.) are
      welcome.
Release Scheduling


  Trend is toward time-based releases:
      OpenBSD (6 months)
      GNOME (6 months)
      Ubuntu (6 months)
      Debian (18 months)
      OpenOffice.org (6 months)
      PostgreSQL (12 months)
      Linux kernel (3 months)
      (MySQL)
      ...
  Note: The upgrade issue is fairly unique to PostgreSQL.
Minor Releases




     Stable + development branch is standard.
     Some maintain more than one stable, e.g., Samba.
     PostgreSQL’s 5+ back branches have got to be a record.
     MySQL might come close.
     Minor releases can also have a fixed schedule.
     (OpenOffice.org: 3 months)
The Rewrite Trap




  Major reengineering efforts usually have schedule and/or
  quality problems. Recall:
      Samba 4
      Perl 6
      KDE 4
Pre-Releases




     Beta, RC are standard.
     Even/odd model (Linux, Perl) is obsolescent.
     Alpha/milestone releases are rare.
Release Manager




     Some projects appoint rotating release managers.
     In other projects, these roles fall into place by tradition.
Downstream Packaging

  Various approaches:
      Tight integration, e.g.: PostgreSQL, KDE, Samba
      Laissez-faire, e.g.: Linux, GCC, MySQL
      Conflict-prone, e.g.: OpenOffice.org, Mozilla
Security Handling




                    Most sizeable projects have
                    special security
                    contacs/teams.
                    CVE numbers are
                    standard.
                    Note: Non-database
                    projects have a
                    skewed/different view of
                    “security”.
Committers



     Surprisingly, many projects seem to do with very few
     committers.
     Some projects have very large amounts of committers.
     I think this is strongly related to the software architecture
     and project layout. Compare:
         KDE has everything in one repo; hundreds of committers.
         PostgreSQL has PgFoundry etc.
         Linux kernel uses a very different model.
     Managing external committers tends to be a problem for
     company-run projects.
Project Steering




      Company-run projects have a clear direction (usually).
      In principle, the developers create their own destiny
      everywhere else.
      Some projects have elected boards etc., but these don’t
      have technical influence.
      Most projects are steered by the “old farts”.
Forking



     Forking continues to happen.
     Contemporary cases: Go-OO.org, eglibc, OurDelta,
     Iceweasel
     Reasons:
          Faster/different feature advancement
          Licensing or trademark conflicts
          Company vs. community barrier
          Personal problems
     Many commercial forks of open-source DBMS:
     EnterpriseDB, Greenplum, Truviso, Kickfire, Infobright
Licensing




     Distributors are incredibly picky.
     So are legal departments.
     Well-known licenses are important.
     Consistent and uniform licensing helps.
     Weird licensing can kill projects.
     Many projects have had their share of problems: KDE (Qt),
     Linux (SCO, firmware), XFree86, Mambo, Apache vs.
     OpenBSD, PostgreSQL (GPL), OpenSSL vs. Debian
Copyright Notices


     Amateur legal opinion: Copyright notices are more or less
     meaningless. But they could help if you plan to go to court.
     Most company-sponsored code has standard copyright
     headers.
     FSF and Apache use copyright assignments and careful
     changelog tracking.
     Most other projects are pretty random.
         Initial author: Perl, Samba
         Various authors: KDE, Vim
         “Fake” organizations: OpenSSL, (PHP), PostgreSQL,
         wxWidgets
         nothing: Python
     Many (smaller) projects apply the GPL wrongly.
Legal and Funds Management




  Four models:
      Run and owned by a single company: OpenOffice.org,
      MySQL, Qt, Berkeley DB, CUPS, (PHP)
      Run and controlled by a non-profit association: GCC, KDE,
      Mozilla, GNOME, Apache, (Fedora)
      Loosely organized but someone in the background: Linux,
      PostgreSQL, Debian, OpenBSD
      Unorganized: Vim
Standards Organizations




  OSS participation is possible, e. g.:
      OpenOffice.org
      Linux/glibc
      KDE/GNOME/X.org/Freedesktop
      MySQL, PostgreSQL, . . . ?
The Average Sizeable Open-Source Project
2010/2011




     Written in C (or Java)
     GPL
     Source in Git
     Bugs in Bugzilla
     Built with Autoconf (or Maven)
     Released every 6 months
Open Issues for PostgreSQL



     Version control
     system
     Web forum
     Bug tracking
     system
     CMake?
     DocBook XML
     Release cycle
     length
     Upgradability
Rights and Attributions



  This presentation “The Lives of Others: Open-Source Development Practices Elsewhere” was authored by Peter
  Eisentraut and is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported
  license.

         The image on page 2 is “Comiskey Park (US Celluar Field)” by Flickr user Zol87, available under the
         Creative Commons Attribution-Noncommercial 2.0 Generic license.
         The image on page 3 is “Apples and oranges” by Flickr user Jeff Tabaco, available under the Creative
         Commons Attribution-Noncommercial-Share Alike 2.0 Generic license.
         The image on page 14 is “Valimon asema Helsinki” from Wikipedia and is in the public domain.
         The image on page 21 is “Watersfalls, Mesa Arts Center” by Flickr user cobalt123, available under the
         Creative Commons Attribution-Noncommercial-Share Alike 2.0 Generic license.
         The image on page 22 is “Suomenlinna” by Flickr user Anosmia, available under the Creative Commons
         Attribution 2.0 Generic license.
         The image on page 31 is “Committee meeting” by Flickr user Matt and Kim Rudge, available under the
         Creative Commons Attribution-Noncommercial 2.0 Generic license.

Mais conteúdo relacionado

Mais procurados

Packaging for the Maemo Platform
Packaging for the Maemo PlatformPackaging for the Maemo Platform
Packaging for the Maemo PlatformJeremiah Foster
 
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Yoshitake Kobayashi
 
Generating Linked Data descriptions of Debian packages in the Debian PTS
Generating Linked Data descriptions of Debian packages in the Debian PTSGenerating Linked Data descriptions of Debian packages in the Debian PTS
Generating Linked Data descriptions of Debian packages in the Debian PTSolberger
 
How%20to%20install%20PHP%20on%20Linux%20_%20laffers
How%20to%20install%20PHP%20on%20Linux%20_%20laffersHow%20to%20install%20PHP%20on%20Linux%20_%20laffers
How%20to%20install%20PHP%20on%20Linux%20_%20lafferstutorialsruby
 
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
 
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppet
 
How to build Debian packages
How to build Debian packages How to build Debian packages
How to build Debian packages Priyank Kapadia
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & GitCraig Smith
 
Php Dependency Management with Composer ZendCon 2016
Php Dependency Management with Composer ZendCon 2016Php Dependency Management with Composer ZendCon 2016
Php Dependency Management with Composer ZendCon 2016Clark Everetts
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with dockerRuoshi Ling
 
Глеб Смирнов: Что нового в FreeBSD 10.0
Глеб Смирнов: Что нового в FreeBSD 10.0Глеб Смирнов: Что нового в FreeBSD 10.0
Глеб Смирнов: Что нового в FreeBSD 10.0Yandex
 
Corwin on Containers
Corwin on ContainersCorwin on Containers
Corwin on ContainersCorwin Brown
 
Virtual Bolt Workshop - 6 May
Virtual Bolt Workshop - 6 MayVirtual Bolt Workshop - 6 May
Virtual Bolt Workshop - 6 MayPuppet
 
Linux server world
Linux server worldLinux server world
Linux server worldAkshat Singh
 
Modulesync- How vox pupuli manages 133 modules, Tim Meusel
Modulesync- How vox pupuli manages 133 modules, Tim MeuselModulesync- How vox pupuli manages 133 modules, Tim Meusel
Modulesync- How vox pupuli manages 133 modules, Tim MeuselPuppet
 
Writing Services with ZF2
Writing Services with ZF2Writing Services with ZF2
Writing Services with ZF2Mike Willbanks
 
Linux Kernel Introduction
Linux Kernel IntroductionLinux Kernel Introduction
Linux Kernel IntroductionSage Sharp
 

Mais procurados (20)

Packaging for the Maemo Platform
Packaging for the Maemo PlatformPackaging for the Maemo Platform
Packaging for the Maemo Platform
 
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...
 
ABCs of docker
ABCs of dockerABCs of docker
ABCs of docker
 
Generating Linked Data descriptions of Debian packages in the Debian PTS
Generating Linked Data descriptions of Debian packages in the Debian PTSGenerating Linked Data descriptions of Debian packages in the Debian PTS
Generating Linked Data descriptions of Debian packages in the Debian PTS
 
Debian packaging
Debian packagingDebian packaging
Debian packaging
 
How%20to%20install%20PHP%20on%20Linux%20_%20laffers
How%20to%20install%20PHP%20on%20Linux%20_%20laffersHow%20to%20install%20PHP%20on%20Linux%20_%20laffers
How%20to%20install%20PHP%20on%20Linux%20_%20laffers
 
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
 
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
 
How to build Debian packages
How to build Debian packages How to build Debian packages
How to build Debian packages
 
Version Control & Git
Version Control & GitVersion Control & Git
Version Control & Git
 
Php Dependency Management with Composer ZendCon 2016
Php Dependency Management with Composer ZendCon 2016Php Dependency Management with Composer ZendCon 2016
Php Dependency Management with Composer ZendCon 2016
 
hw1a
hw1ahw1a
hw1a
 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with docker
 
Глеб Смирнов: Что нового в FreeBSD 10.0
Глеб Смирнов: Что нового в FreeBSD 10.0Глеб Смирнов: Что нового в FreeBSD 10.0
Глеб Смирнов: Что нового в FreeBSD 10.0
 
Corwin on Containers
Corwin on ContainersCorwin on Containers
Corwin on Containers
 
Virtual Bolt Workshop - 6 May
Virtual Bolt Workshop - 6 MayVirtual Bolt Workshop - 6 May
Virtual Bolt Workshop - 6 May
 
Linux server world
Linux server worldLinux server world
Linux server world
 
Modulesync- How vox pupuli manages 133 modules, Tim Meusel
Modulesync- How vox pupuli manages 133 modules, Tim MeuselModulesync- How vox pupuli manages 133 modules, Tim Meusel
Modulesync- How vox pupuli manages 133 modules, Tim Meusel
 
Writing Services with ZF2
Writing Services with ZF2Writing Services with ZF2
Writing Services with ZF2
 
Linux Kernel Introduction
Linux Kernel IntroductionLinux Kernel Introduction
Linux Kernel Introduction
 

Destaque

Das leben der anderen: The lives of others.
Das leben der anderen: The lives of others. Das leben der anderen: The lives of others.
Das leben der anderen: The lives of others. Eccentric Monika
 
Ericsson Mobility Report - The lives of others
Ericsson Mobility Report - The lives of othersEricsson Mobility Report - The lives of others
Ericsson Mobility Report - The lives of othersEricsson
 
Most Wanted: Future PostgreSQL Features
Most Wanted: Future PostgreSQL FeaturesMost Wanted: Future PostgreSQL Features
Most Wanted: Future PostgreSQL FeaturesPeter Eisentraut
 
Porting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQLPorting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQLPeter Eisentraut
 
Getting Started with PL/Proxy
Getting Started with PL/ProxyGetting Started with PL/Proxy
Getting Started with PL/ProxyPeter Eisentraut
 
Programming with Python and PostgreSQL
Programming with Python and PostgreSQLProgramming with Python and PostgreSQL
Programming with Python and PostgreSQLPeter Eisentraut
 

Destaque (6)

Das leben der anderen: The lives of others.
Das leben der anderen: The lives of others. Das leben der anderen: The lives of others.
Das leben der anderen: The lives of others.
 
Ericsson Mobility Report - The lives of others
Ericsson Mobility Report - The lives of othersEricsson Mobility Report - The lives of others
Ericsson Mobility Report - The lives of others
 
Most Wanted: Future PostgreSQL Features
Most Wanted: Future PostgreSQL FeaturesMost Wanted: Future PostgreSQL Features
Most Wanted: Future PostgreSQL Features
 
Porting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQLPorting Applications From Oracle To PostgreSQL
Porting Applications From Oracle To PostgreSQL
 
Getting Started with PL/Proxy
Getting Started with PL/ProxyGetting Started with PL/Proxy
Getting Started with PL/Proxy
 
Programming with Python and PostgreSQL
Programming with Python and PostgreSQLProgramming with Python and PostgreSQL
Programming with Python and PostgreSQL
 

Semelhante a The Lives of Others: Open-Source Development Practices Elsewhere

Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily usearun.arwachin
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentS. M. Hossein Hamidi
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
 
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
 
You think you're not a target? A tale of three developers...
You think you're not a target? A tale of three developers...You think you're not a target? A tale of three developers...
You think you're not a target? A tale of three developers...Speck&Tech
 
Alexander Kutsan: “C++ compilation boost”
Alexander Kutsan: “C++ compilation boost” Alexander Kutsan: “C++ compilation boost”
Alexander Kutsan: “C++ compilation boost” LogeekNightUkraine
 
UniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeLee Calcote
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveAlison Chaiken
 
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdfManaging Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdfAndrew Lamb
 
Dev environment for linux (Mainly KDE and python)
Dev environment for linux  (Mainly KDE and python)Dev environment for linux  (Mainly KDE and python)
Dev environment for linux (Mainly KDE and python)Assem CHELLI
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...dmgerman
 
Linux Distribution Collaboration …on a Mainframe!
Linux Distribution Collaboration …on a Mainframe!Linux Distribution Collaboration …on a Mainframe!
Linux Distribution Collaboration …on a Mainframe!All Things Open
 
Iz Pack
Iz PackIz Pack
Iz PackInria
 
Systemd for developers
Systemd for developersSystemd for developers
Systemd for developersAlison Chaiken
 
The Source Control Landscape
The Source Control LandscapeThe Source Control Landscape
The Source Control LandscapeLorna Mitchell
 

Semelhante a The Lives of Others: Open-Source Development Practices Elsewhere (20)

Some wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily useSome wonderful Linux softwares for daily use
Some wonderful Linux softwares for daily use
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development Environment
 
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
Foss Presentation
Foss PresentationFoss Presentation
Foss Presentation
 
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
 
You think you're not a target? A tale of three developers...
You think you're not a target? A tale of three developers...You think you're not a target? A tale of three developers...
You think you're not a target? A tale of three developers...
 
Open Source in the Enterprise
Open Source in the EnterpriseOpen Source in the Enterprise
Open Source in the Enterprise
 
Fedora Modularity
Fedora ModularityFedora Modularity
Fedora Modularity
 
Alexander Kutsan: “C++ compilation boost”
Alexander Kutsan: “C++ compilation boost” Alexander Kutsan: “C++ compilation boost”
Alexander Kutsan: “C++ compilation boost”
 
UniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtimeUniK - a unikernel compiler and runtime
UniK - a unikernel compiler and runtime
 
Collabograte
CollabograteCollabograte
Collabograte
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to love
 
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdfManaging Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdf
 
Dev environment for linux (Mainly KDE and python)
Dev environment for linux  (Mainly KDE and python)Dev environment for linux  (Mainly KDE and python)
Dev environment for linux (Mainly KDE and python)
 
olibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linuxolibc: Another C Library optimized for Embedded Linux
olibc: Another C Library optimized for Embedded Linux
 
The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...The adoption of FOSS workfows in commercial software development: the case of...
The adoption of FOSS workfows in commercial software development: the case of...
 
Linux Distribution Collaboration …on a Mainframe!
Linux Distribution Collaboration …on a Mainframe!Linux Distribution Collaboration …on a Mainframe!
Linux Distribution Collaboration …on a Mainframe!
 
Iz Pack
Iz PackIz Pack
Iz Pack
 
Systemd for developers
Systemd for developersSystemd for developers
Systemd for developers
 
The Source Control Landscape
The Source Control LandscapeThe Source Control Landscape
The Source Control Landscape
 

Mais de Peter Eisentraut

Porting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQLPorting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQLPeter Eisentraut
 
XML Support: Specifications and Development
XML Support: Specifications and DevelopmentXML Support: Specifications and Development
XML Support: Specifications and DevelopmentPeter Eisentraut
 
PostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie DatenbankalternativePostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie DatenbankalternativePeter Eisentraut
 
The Road to the XML Type: Current and Future Developments
The Road to the XML Type: Current and Future DevelopmentsThe Road to the XML Type: Current and Future Developments
The Road to the XML Type: Current and Future DevelopmentsPeter Eisentraut
 
Access ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsAccess ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsPeter Eisentraut
 
Replication Solutions for PostgreSQL
Replication Solutions for PostgreSQLReplication Solutions for PostgreSQL
Replication Solutions for PostgreSQLPeter Eisentraut
 
Access ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsAccess ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsPeter Eisentraut
 
Docbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLDocbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLPeter Eisentraut
 
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...Peter Eisentraut
 
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail S...
Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail S...Peter Eisentraut
 
SQL/MED: Doping for PostgreSQL
SQL/MED: Doping for PostgreSQLSQL/MED: Doping for PostgreSQL
SQL/MED: Doping for PostgreSQLPeter Eisentraut
 

Mais de Peter Eisentraut (17)

Porting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQLPorting Oracle Applications to PostgreSQL
Porting Oracle Applications to PostgreSQL
 
PostgreSQL and XML
PostgreSQL and XMLPostgreSQL and XML
PostgreSQL and XML
 
XML Support: Specifications and Development
XML Support: Specifications and DevelopmentXML Support: Specifications and Development
XML Support: Specifications and Development
 
PostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie DatenbankalternativePostgreSQL: Die Freie Datenbankalternative
PostgreSQL: Die Freie Datenbankalternative
 
The Road to the XML Type: Current and Future Developments
The Road to the XML Type: Current and Future DevelopmentsThe Road to the XML Type: Current and Future Developments
The Road to the XML Type: Current and Future Developments
 
Access ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsAccess ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-Frontends
 
PostgreSQL and PL/Java
PostgreSQL and PL/JavaPostgreSQL and PL/Java
PostgreSQL and PL/Java
 
Replication Solutions for PostgreSQL
Replication Solutions for PostgreSQLReplication Solutions for PostgreSQL
Replication Solutions for PostgreSQL
 
PostgreSQL News
PostgreSQL NewsPostgreSQL News
PostgreSQL News
 
PostgreSQL News
PostgreSQL NewsPostgreSQL News
PostgreSQL News
 
Access ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-FrontendsAccess ohne Access: Freie Datenbank-Frontends
Access ohne Access: Freie Datenbank-Frontends
 
Docbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XMLDocbook: Textverarbeitung mit XML
Docbook: Textverarbeitung mit XML
 
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...
 
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail S...
Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail S...
 
Spaß mit PostgreSQL
Spaß mit PostgreSQLSpaß mit PostgreSQL
Spaß mit PostgreSQL
 
SQL/MED and PostgreSQL
SQL/MED and PostgreSQLSQL/MED and PostgreSQL
SQL/MED and PostgreSQL
 
SQL/MED: Doping for PostgreSQL
SQL/MED: Doping for PostgreSQLSQL/MED: Doping for PostgreSQL
SQL/MED: Doping for PostgreSQL
 

Último

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

The Lives of Others: Open-Source Development Practices Elsewhere

  • 1. The Lives of Others Open-Source Development Practices Elsewhere Peter Eisentraut Senior Software Engineer Lab Development F-Secure Corporation PGCon 2009
  • 2. Ground Rules I don’t know everything. If you are involved in other projects, chime in. Discussion welcome
  • 3. Whom To Learn From? Look at the biggest open-source projects Metric: installation footprint, installation count Where to find those numbers? the Universal Debian Database doesn’t count OS distributions such as Debian, Fedora, FreeBSD, OpenSolaris Java also underrepresented
  • 4. Sidetrack: The Universal Debian Database Example: query for packages with largest install footprint and popularity SELECT rank() OVER (ORDER BY score DESC), source, sum(installed_size::numeric * insts) AS score FROM packages JOIN popcon_src USING (source) WHERE distribution = 'debian' AND release = 'lenny' AND component = 'main' AND architecture IN ('all', 'i386') GROUP BY source ORDER BY score DESC LIMIT 100;
  • 5. The Biggest Projects OpenOffice.org, Linux, GCC, GCJ, Qt, Mesa, KDE, Glibc, Firefox, MySQL, Boost, Perl, Samba, LDP, Vim, Gtk+, FFmpeg, OPAL, Evolution, OpenJDK, Gtk−−, wxWidgets, PyQt, Gimp, TeX Live, X.org, SCOWL, OpenSSL, Thunderbird, Xalan, Berkeley DB, ncurses, Foomatic, SELinux, Gutenprint, PHP, GNU binutils, Python, KOffice, Wine, Ruby, ICU, LAPACK, Webkit, PostgreSQL, glib, libsigc++, Inkscape, PWLib, GNOME, Apache, HPLIP, Xerces, Libxml, GNU Gettext, CUPS, SANE, Net-SNMP, Ghostscript, Mono, Eclipse, Pidgin
  • 6. PostgreSQL — A Role Model? Things to keep in mind: 1. Process details are hard to gather for outsiders. 2. Other projects are not without problems. 3. Many of them have worse problems than we do. 4. Others look at the PostgreSQL project for advice and inspiration. 5. It’s amazing that anything gets done. :-)
  • 7. Version Control In the lead: Git, Subversion Also-rans: CVS, Mercurial, Bazaar Commercial systems phased out Automatic conversion services in use
  • 8. Build Tools Autotools continue to rule! CMake might be challenger well-known usage: KDE, MySQL (for Windows only) uptake still slow (88 of 12000 packages in Debian) That’s it, for C programs.
  • 9. Documentation Tools DocBook emerged as the standard. XML vs. SGML Texinfo (only at GNU) man pages HTML some specialized solutions: Python: reStructuredText Perl: Perldoc Qt: qdoc
  • 10. Discussion Forums Mailing lists are clearly the standard. But don’t argue about Reply-To! Usenet is dead. :-) Web-forums serve support requests and newbies better. . . . and then there are bug-tracking systems.
  • 11. Bug Tracking Bugzilla is king (often heavily themed and customized). contenders: Roundup, Jira, *forge marginal: RT
  • 12. Coding Styles Coding style appears to be an issue specific to C/C++. Besides the GNU style, various random styles can be found. CVS $Keywords$ are pretty much gone. Patch styles (-c vs. -u) are an unsettled issue.
  • 13. Wikis About 1/3 of projects have active wikis. MediaWiki is most popular.
  • 14. The Foundries Project-specific *forge services are rare. More popular: Common repo and Bugzilla for everyone. This has implications for management of sub-/sister projects.
  • 15. Write Your Own Tools Some tools are side-products of other projects: ccache tmalloc distcc Bugzilla PatchTracker Contributions to build tools (autoconf, cmake, etc.) are welcome.
  • 16. Release Scheduling Trend is toward time-based releases: OpenBSD (6 months) GNOME (6 months) Ubuntu (6 months) Debian (18 months) OpenOffice.org (6 months) PostgreSQL (12 months) Linux kernel (3 months) (MySQL) ... Note: The upgrade issue is fairly unique to PostgreSQL.
  • 17. Minor Releases Stable + development branch is standard. Some maintain more than one stable, e.g., Samba. PostgreSQL’s 5+ back branches have got to be a record. MySQL might come close. Minor releases can also have a fixed schedule. (OpenOffice.org: 3 months)
  • 18. The Rewrite Trap Major reengineering efforts usually have schedule and/or quality problems. Recall: Samba 4 Perl 6 KDE 4
  • 19. Pre-Releases Beta, RC are standard. Even/odd model (Linux, Perl) is obsolescent. Alpha/milestone releases are rare.
  • 20. Release Manager Some projects appoint rotating release managers. In other projects, these roles fall into place by tradition.
  • 21. Downstream Packaging Various approaches: Tight integration, e.g.: PostgreSQL, KDE, Samba Laissez-faire, e.g.: Linux, GCC, MySQL Conflict-prone, e.g.: OpenOffice.org, Mozilla
  • 22. Security Handling Most sizeable projects have special security contacs/teams. CVE numbers are standard. Note: Non-database projects have a skewed/different view of “security”.
  • 23. Committers Surprisingly, many projects seem to do with very few committers. Some projects have very large amounts of committers. I think this is strongly related to the software architecture and project layout. Compare: KDE has everything in one repo; hundreds of committers. PostgreSQL has PgFoundry etc. Linux kernel uses a very different model. Managing external committers tends to be a problem for company-run projects.
  • 24. Project Steering Company-run projects have a clear direction (usually). In principle, the developers create their own destiny everywhere else. Some projects have elected boards etc., but these don’t have technical influence. Most projects are steered by the “old farts”.
  • 25. Forking Forking continues to happen. Contemporary cases: Go-OO.org, eglibc, OurDelta, Iceweasel Reasons: Faster/different feature advancement Licensing or trademark conflicts Company vs. community barrier Personal problems Many commercial forks of open-source DBMS: EnterpriseDB, Greenplum, Truviso, Kickfire, Infobright
  • 26. Licensing Distributors are incredibly picky. So are legal departments. Well-known licenses are important. Consistent and uniform licensing helps. Weird licensing can kill projects. Many projects have had their share of problems: KDE (Qt), Linux (SCO, firmware), XFree86, Mambo, Apache vs. OpenBSD, PostgreSQL (GPL), OpenSSL vs. Debian
  • 27. Copyright Notices Amateur legal opinion: Copyright notices are more or less meaningless. But they could help if you plan to go to court. Most company-sponsored code has standard copyright headers. FSF and Apache use copyright assignments and careful changelog tracking. Most other projects are pretty random. Initial author: Perl, Samba Various authors: KDE, Vim “Fake” organizations: OpenSSL, (PHP), PostgreSQL, wxWidgets nothing: Python Many (smaller) projects apply the GPL wrongly.
  • 28. Legal and Funds Management Four models: Run and owned by a single company: OpenOffice.org, MySQL, Qt, Berkeley DB, CUPS, (PHP) Run and controlled by a non-profit association: GCC, KDE, Mozilla, GNOME, Apache, (Fedora) Loosely organized but someone in the background: Linux, PostgreSQL, Debian, OpenBSD Unorganized: Vim
  • 29. Standards Organizations OSS participation is possible, e. g.: OpenOffice.org Linux/glibc KDE/GNOME/X.org/Freedesktop MySQL, PostgreSQL, . . . ?
  • 30. The Average Sizeable Open-Source Project 2010/2011 Written in C (or Java) GPL Source in Git Bugs in Bugzilla Built with Autoconf (or Maven) Released every 6 months
  • 31. Open Issues for PostgreSQL Version control system Web forum Bug tracking system CMake? DocBook XML Release cycle length Upgradability
  • 32. Rights and Attributions This presentation “The Lives of Others: Open-Source Development Practices Elsewhere” was authored by Peter Eisentraut and is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported license. The image on page 2 is “Comiskey Park (US Celluar Field)” by Flickr user Zol87, available under the Creative Commons Attribution-Noncommercial 2.0 Generic license. The image on page 3 is “Apples and oranges” by Flickr user Jeff Tabaco, available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Generic license. The image on page 14 is “Valimon asema Helsinki” from Wikipedia and is in the public domain. The image on page 21 is “Watersfalls, Mesa Arts Center” by Flickr user cobalt123, available under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Generic license. The image on page 22 is “Suomenlinna” by Flickr user Anosmia, available under the Creative Commons Attribution 2.0 Generic license. The image on page 31 is “Committee meeting” by Flickr user Matt and Kim Rudge, available under the Creative Commons Attribution-Noncommercial 2.0 Generic license.