The Common Debian Build System (CDBS) provides makefile fragments to simplify Debian package building. It includes classes that handle common build systems like autotools and distutils. CDBS aims to standardize packaging and automatically implement policy changes. While it helps most packages, it may be unnecessary for simple packages or those with unusual build systems. CDBS maintenance involves addressing bugs, feature requests, outdated documentation, and ensuring compatibility with Debian subpolicies.
Is putting archives of binaries on a CD image still the way to serve the users? In the face of the likes of Google and Amazon impacting the way
users interact with software and systems, and eroding the four freedoms, how can Linux distributions keep up? Distribute QEMU images? Write a free GMail clone? Offer community-managed web email hosting? Can this work, and who is going to pay for it?
The document is a presentation about professional tools for embedded Linux given at OSCON in 2012. It introduces the Yocto Project, which aims to unify embedded Linux development. It discusses the project's goals of providing consistent tools across architectures. It outlines the project components like the build system, libraries, and governance structure. It then covers the development process involving layers, recipes, and adjustment points. Finally, it provides instructions for getting started, including downloading, configuring, building, and using the Hob interface.
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Anne Nicolas
1. The document discusses using RDF metadata to improve traceability between software projects and distributions by linking related documentation like bug reports and security advisories.
2. The author describes harvesting metadata from projects like GNOME, Apache, PyPI, and Debian to create a graph of interlinked resources and allowing better search and navigation between packages, bugs, and releases.
3. Recommendations include asking upstream authors to create DOAP descriptions and distributions to adopt the ADMS.SW standard to document package releases using semantic web technologies like RDF.
Ross Burton has been working on the Yocto Project for nearly a year and previously worked on its precursor, Poky. The Yocto Project helps companies build customized Linux distributions for embedded products like set-top boxes, digital signs, networking equipment, and more. It provides advantages over general purpose desktop distributions by being designed for long-term use, having reproducible builds, and allowing full customization while maintaining standards and support.
This document provides an introduction to concurrency in Python using threads. It discusses how threads allow programs to perform multiple tasks simultaneously by sharing system resources like memory. The document covers basic threading concepts like creating and launching threads, as well as challenges like accessing shared data between threads, which can be non-deterministic due to thread scheduling. It aims to provide an overview of concurrency support in the Python standard library beyond just the user manual.
Debian packages software using a "deb" binary format. It has over 25,000 packages maintained by about 1,000 volunteers. Packages go through the unstable, testing, and stable release cycles. Developers use tools like dh-make-perl, pbuilder, and lintian to create and test packages according to Debian policies and standards.
The Common Debian Build System (CDBS) provides makefile fragments to simplify Debian package building. It includes classes that handle common build systems like autotools and distutils. CDBS aims to standardize packaging and automatically implement policy changes. While it helps most packages, it may be unnecessary for simple packages or those with unusual build systems. CDBS maintenance involves addressing bugs, feature requests, outdated documentation, and ensuring compatibility with Debian subpolicies.
Is putting archives of binaries on a CD image still the way to serve the users? In the face of the likes of Google and Amazon impacting the way
users interact with software and systems, and eroding the four freedoms, how can Linux distributions keep up? Distribute QEMU images? Write a free GMail clone? Offer community-managed web email hosting? Can this work, and who is going to pay for it?
The document is a presentation about professional tools for embedded Linux given at OSCON in 2012. It introduces the Yocto Project, which aims to unify embedded Linux development. It discusses the project's goals of providing consistent tools across architectures. It outlines the project components like the build system, libraries, and governance structure. It then covers the development process involving layers, recipes, and adjustment points. Finally, it provides instructions for getting started, including downloading, configuring, building, and using the Hob interface.
Distro Recipes 2013 : Contribution of RDF metadata for traceability among pro...Anne Nicolas
1. The document discusses using RDF metadata to improve traceability between software projects and distributions by linking related documentation like bug reports and security advisories.
2. The author describes harvesting metadata from projects like GNOME, Apache, PyPI, and Debian to create a graph of interlinked resources and allowing better search and navigation between packages, bugs, and releases.
3. Recommendations include asking upstream authors to create DOAP descriptions and distributions to adopt the ADMS.SW standard to document package releases using semantic web technologies like RDF.
Ross Burton has been working on the Yocto Project for nearly a year and previously worked on its precursor, Poky. The Yocto Project helps companies build customized Linux distributions for embedded products like set-top boxes, digital signs, networking equipment, and more. It provides advantages over general purpose desktop distributions by being designed for long-term use, having reproducible builds, and allowing full customization while maintaining standards and support.
This document provides an introduction to concurrency in Python using threads. It discusses how threads allow programs to perform multiple tasks simultaneously by sharing system resources like memory. The document covers basic threading concepts like creating and launching threads, as well as challenges like accessing shared data between threads, which can be non-deterministic due to thread scheduling. It aims to provide an overview of concurrency support in the Python standard library beyond just the user manual.
Debian packages software using a "deb" binary format. It has over 25,000 packages maintained by about 1,000 volunteers. Packages go through the unstable, testing, and stable release cycles. Developers use tools like dh-make-perl, pbuilder, and lintian to create and test packages according to Debian policies and standards.
The document provides guidance on packaging applications for the Maemo platform. It discusses finding software to package, creating the initial package files and structure using dh_make, the necessary files like changelog, copyright and control, how debhelper automates common packaging tasks, tracking dependencies, and other tools that can help like pbuilder and cowbuilder. While Maemo uses Debian packaging tools, it is not Debian and has its own build systems and conventions that allow it to innovate independently from Debian.
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Yoshitake Kobayashi
Embedded Linux Conference 2015
Poky has already become one of the most popular build system to make an embedded Linux environment. Poky refers to OpenEmbedded originally. However if you want to use other source code, how to do it? We have some experience we would like to share with you. For this study, We choose Debian source and already tried two ways to use it. The first try was probably an incorrect way and the second try may be a correct way.
In this talk, we will show both of them and also describe why we choose Debian. If you are interested in this implementation, you can download the source code from GitHub. There are some implementations available for development boards such as pandaboard, minnowboard and etc. Let's enjoy Bitbake!
This document provides an overview of containerization and Docker. It covers prerequisites, traditional application deployment challenges, container components like namespaces and cgroups, major Docker concepts like images and containers, common Docker commands, building Dockerfiles, and Docker workflows and best practices. Hands-on exercises are included to build and run containers.
Generating Linked Data descriptions of Debian packages in the Debian PTSolberger
This document discusses generating linked data descriptions of Debian packages in the Debian Package Tracking System (PTS). It introduces the speaker and their background working on software forges and interoperability. The rest of the document outlines issues with current software project descriptions, describes how the PTS now generates RDF metadata for Debian packages, shows an example of Apache2 packaging in RDF format, discusses the ADMS.SW ontology used to model the data, and explores potential uses of the linked data including tracing packages across the FLOSS ecosystem and matching packages to their upstream projects.
This document provides a tutorial for installing PHP on Linux. It explains:
- PHP will be installed as a shared module loaded into Apache2 dynamically.
- Steps include downloading the PHP source, configuring with options like paths for Apache and MySQL, compiling, editing Apache's configuration to load PHP, creating a php.ini file, and restarting Apache.
- The tutorial was written for SuSE but should work on other Linux systems and supports PHP versions 5.0.4 through 5.2.1. It provides guidance for upgrading PHP as well.
Distributions and package management in the containers eranussbauml
The document discusses distributions and package management in the containers era. It notes that interest in distributions has declined based on reduced attendance at devrooms about distributions. However, distributions still provide value through their universal package format, consistent quality assurance processes, and ecosystem of related distributions. Challenges include a lack of collaboration on issues between distributions and upstream projects. Additionally, distributions often do not provide the specific software and versions users need. The document proposes managing applications and dependencies using the same tools and formats as distributions to address these challenges.
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppet
Here are the slides from Nicolas Corrarello's PuppetConf 2016 presentation called Puppet on Windows. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
The document discusses how to build Debian packages. It covers the basics of Debian packaging including what packages are, why the Debian distribution uses the .deb package format, and the basic components of a Debian package. It then outlines the steps for building a package, including using tools like dh_make and cdbs to generate the package files and structure, and dpkg-buildpackage to build the binary package. It emphasizes quality control and following Debian policies. It concludes with information on contributing packages to Debian through mentors.debian.net and becoming a Debian Developer.
This document provides an overview of version control and the distributed version control system Git. It discusses the history and benefits of version control, including backup and recovery, synchronization, undo capabilities, and tracking changes. Key aspects of Git are explained, such as branching and merging, the fast and efficient nature of Git, and how it allows for cheap local experimentation through branches. The document demonstrates Git workflows and commands and provides resources for further information.
Php Dependency Management with Composer ZendCon 2016Clark Everetts
A deep-dive for beginners into Composer, the dependency manager for PHP. Learn how Composer helps you obtain the components your applications depend upon, installs them into your project, and controls their update to newer versions.
This homework assignment covers basic Unix and Perl skills. Students are instructed to:
1) Install Linux if they don't already have it and familiarize themselves with basic Unix commands through tutorials.
2) Learn important Unix text processing tools like grep, cut, sort, and pipes. Students are given example commands to run on E. coli genome data and explain what each command does.
3) Submit their responses to the tutorial questions and command explanations for grading.
This document discusses using Docker to deploy PHP projects. It begins with an overview of some common challenges in deploying PHP projects, like different PHP version requirements across projects. It then introduces Docker and some of its key concepts like containers, images, and layered filesystems. The remainder of the document provides examples of basic Docker commands for pulling images, running containers, and listing containers. The goal is to illustrate how Docker can help isolate environments for different PHP projects and more easily manage varying PHP version requirements.
The document discusses the new features in FreeBSD 10, including a new packaging system called pkg(1) that replaces pkg_tools, LLVM/Clang becoming the default compiler, improvements to capsicum(4) for increased security, the new bhyve hypervisor for virtualization, enhancements to callout(9) and random number generation, and the adoption of unmapped I/O to improve performance. FreeBSD 10 has undergone two years of development since FreeBSD 9 and its release 10.0-RELEASE is planned for January 2014.
This was a talk given internally at BloomReach as well as a guest lecture to a grad level Data Structures and Algorithms class at the University of Texas at Arlington.
A Deep dive on the history of containers, and how they work under the cover utilizing Linux Kernel features such as Process Namespaces and Control Groups.
I also go over a bit of the history of Container technology, going from Chroot and Jails and Zones, to LXC and Docker
Bolt provides agentless automation capabilities to execute commands, scripts, tasks, and plans against remote targets. It allows authentication via SSH, WinRM, or PCP and supports running automation in any language the remote system supports. The document discusses setting up an environment for Bolt workshops, including creating a Boltdir directory and configuration files. It also covers various Bolt capabilities like commands, scripts, tasks, plans, and applying Puppet manifests, as well as cross-platform automation and connecting to Puppet Enterprise for desired state management.
This document contains 22 questions and answers related to Linux system administration. Some of the topics covered include the difference between processes and services, viewing cron status, logging client usage of server services, FTP access restrictions, Linux security tools, firewall basics, checking file system consistency, and scheduling cron jobs to run on a specific Saturday of the month.
Modulesync- How vox pupuli manages 133 modules, Tim MeuselPuppet
Managing a single Puppet module isn't easy, especially if you want to stay up-to-date with current best practices, modern testing, and the Puppet-DSL guidelines. This becomes even more difficult when maintaining multiple modules. Modulesync is the open source tool to change this! Learn from Vox Pupuli how we manage over 130 modules with no overhead and how we lowered the bar for newcomers in the open source world to more easily contribute.
ZF2 takes a different approach to services; there are several services out there and you should be providing the ability for ZF2 to integrate with this. ZF2 marries services with composer and a different packaging mechanism to ensure that services can be released without a specific framework version. This not only helps the framework but helps you prevent an API changing in between framework releases without having an issue of awaiting a framework release.
An introduction to how the Linux kernel works: maintianers, scaling trust, and no regressions. This talk also gives tips to people who want to get involved with Linux kernel development, either through reporting bugs, reviewing code, or developing code.
The document discusses the oppressive surveillance state that existed in East Germany in 1984 under the Stasi secret police. It focuses on the story of Stasi officer Wiesler who is assigned to spy on playwright Dreyman, having his apartment bugged and monitored. Though initially a supporter of the regime, Dreyman becomes disillusioned with the lack of freedom and censorship. Wiesler also transforms as he sees the human toll of the extensive surveillance. The film depicts the human rights violations people faced under the authoritarian Communist state, including lack of privacy, freedom of thought and expression, and arbitrary detention.
Ericsson Mobility Report - The lives of othersEricsson
Consumers are increasingly participating in and sharing information on multiple social media platforms. With an expected net addition of 3 billion smartphone subscriptions by the end of 2021, many more consumers will have easy access to social networks via apps and web browsers.
http://www.ericsson.com/mobility-report
The document provides guidance on packaging applications for the Maemo platform. It discusses finding software to package, creating the initial package files and structure using dh_make, the necessary files like changelog, copyright and control, how debhelper automates common packaging tasks, tracking dependencies, and other tools that can help like pbuilder and cowbuilder. While Maemo uses Debian packaging tools, it is not Debian and has its own build systems and conventions that allow it to innovate independently from Debian.
Poky meets Debian: Understanding how to make an embedded Linux by using an ex...Yoshitake Kobayashi
Embedded Linux Conference 2015
Poky has already become one of the most popular build system to make an embedded Linux environment. Poky refers to OpenEmbedded originally. However if you want to use other source code, how to do it? We have some experience we would like to share with you. For this study, We choose Debian source and already tried two ways to use it. The first try was probably an incorrect way and the second try may be a correct way.
In this talk, we will show both of them and also describe why we choose Debian. If you are interested in this implementation, you can download the source code from GitHub. There are some implementations available for development boards such as pandaboard, minnowboard and etc. Let's enjoy Bitbake!
This document provides an overview of containerization and Docker. It covers prerequisites, traditional application deployment challenges, container components like namespaces and cgroups, major Docker concepts like images and containers, common Docker commands, building Dockerfiles, and Docker workflows and best practices. Hands-on exercises are included to build and run containers.
Generating Linked Data descriptions of Debian packages in the Debian PTSolberger
This document discusses generating linked data descriptions of Debian packages in the Debian Package Tracking System (PTS). It introduces the speaker and their background working on software forges and interoperability. The rest of the document outlines issues with current software project descriptions, describes how the PTS now generates RDF metadata for Debian packages, shows an example of Apache2 packaging in RDF format, discusses the ADMS.SW ontology used to model the data, and explores potential uses of the linked data including tracing packages across the FLOSS ecosystem and matching packages to their upstream projects.
This document provides a tutorial for installing PHP on Linux. It explains:
- PHP will be installed as a shared module loaded into Apache2 dynamically.
- Steps include downloading the PHP source, configuring with options like paths for Apache and MySQL, compiling, editing Apache's configuration to load PHP, creating a php.ini file, and restarting Apache.
- The tutorial was written for SuSE but should work on other Linux systems and supports PHP versions 5.0.4 through 5.2.1. It provides guidance for upgrading PHP as well.
Distributions and package management in the containers eranussbauml
The document discusses distributions and package management in the containers era. It notes that interest in distributions has declined based on reduced attendance at devrooms about distributions. However, distributions still provide value through their universal package format, consistent quality assurance processes, and ecosystem of related distributions. Challenges include a lack of collaboration on issues between distributions and upstream projects. Additionally, distributions often do not provide the specific software and versions users need. The document proposes managing applications and dependencies using the same tools and formats as distributions to address these challenges.
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppet
Here are the slides from Nicolas Corrarello's PuppetConf 2016 presentation called Puppet on Windows. Watch the videos at https://www.youtube.com/playlist?list=PLV86BgbREluVjwwt-9UL8u2Uy8xnzpIqa
The document discusses how to build Debian packages. It covers the basics of Debian packaging including what packages are, why the Debian distribution uses the .deb package format, and the basic components of a Debian package. It then outlines the steps for building a package, including using tools like dh_make and cdbs to generate the package files and structure, and dpkg-buildpackage to build the binary package. It emphasizes quality control and following Debian policies. It concludes with information on contributing packages to Debian through mentors.debian.net and becoming a Debian Developer.
This document provides an overview of version control and the distributed version control system Git. It discusses the history and benefits of version control, including backup and recovery, synchronization, undo capabilities, and tracking changes. Key aspects of Git are explained, such as branching and merging, the fast and efficient nature of Git, and how it allows for cheap local experimentation through branches. The document demonstrates Git workflows and commands and provides resources for further information.
Php Dependency Management with Composer ZendCon 2016Clark Everetts
A deep-dive for beginners into Composer, the dependency manager for PHP. Learn how Composer helps you obtain the components your applications depend upon, installs them into your project, and controls their update to newer versions.
This homework assignment covers basic Unix and Perl skills. Students are instructed to:
1) Install Linux if they don't already have it and familiarize themselves with basic Unix commands through tutorials.
2) Learn important Unix text processing tools like grep, cut, sort, and pipes. Students are given example commands to run on E. coli genome data and explain what each command does.
3) Submit their responses to the tutorial questions and command explanations for grading.
This document discusses using Docker to deploy PHP projects. It begins with an overview of some common challenges in deploying PHP projects, like different PHP version requirements across projects. It then introduces Docker and some of its key concepts like containers, images, and layered filesystems. The remainder of the document provides examples of basic Docker commands for pulling images, running containers, and listing containers. The goal is to illustrate how Docker can help isolate environments for different PHP projects and more easily manage varying PHP version requirements.
The document discusses the new features in FreeBSD 10, including a new packaging system called pkg(1) that replaces pkg_tools, LLVM/Clang becoming the default compiler, improvements to capsicum(4) for increased security, the new bhyve hypervisor for virtualization, enhancements to callout(9) and random number generation, and the adoption of unmapped I/O to improve performance. FreeBSD 10 has undergone two years of development since FreeBSD 9 and its release 10.0-RELEASE is planned for January 2014.
This was a talk given internally at BloomReach as well as a guest lecture to a grad level Data Structures and Algorithms class at the University of Texas at Arlington.
A Deep dive on the history of containers, and how they work under the cover utilizing Linux Kernel features such as Process Namespaces and Control Groups.
I also go over a bit of the history of Container technology, going from Chroot and Jails and Zones, to LXC and Docker
Bolt provides agentless automation capabilities to execute commands, scripts, tasks, and plans against remote targets. It allows authentication via SSH, WinRM, or PCP and supports running automation in any language the remote system supports. The document discusses setting up an environment for Bolt workshops, including creating a Boltdir directory and configuration files. It also covers various Bolt capabilities like commands, scripts, tasks, plans, and applying Puppet manifests, as well as cross-platform automation and connecting to Puppet Enterprise for desired state management.
This document contains 22 questions and answers related to Linux system administration. Some of the topics covered include the difference between processes and services, viewing cron status, logging client usage of server services, FTP access restrictions, Linux security tools, firewall basics, checking file system consistency, and scheduling cron jobs to run on a specific Saturday of the month.
Modulesync- How vox pupuli manages 133 modules, Tim MeuselPuppet
Managing a single Puppet module isn't easy, especially if you want to stay up-to-date with current best practices, modern testing, and the Puppet-DSL guidelines. This becomes even more difficult when maintaining multiple modules. Modulesync is the open source tool to change this! Learn from Vox Pupuli how we manage over 130 modules with no overhead and how we lowered the bar for newcomers in the open source world to more easily contribute.
ZF2 takes a different approach to services; there are several services out there and you should be providing the ability for ZF2 to integrate with this. ZF2 marries services with composer and a different packaging mechanism to ensure that services can be released without a specific framework version. This not only helps the framework but helps you prevent an API changing in between framework releases without having an issue of awaiting a framework release.
An introduction to how the Linux kernel works: maintianers, scaling trust, and no regressions. This talk also gives tips to people who want to get involved with Linux kernel development, either through reporting bugs, reviewing code, or developing code.
The document discusses the oppressive surveillance state that existed in East Germany in 1984 under the Stasi secret police. It focuses on the story of Stasi officer Wiesler who is assigned to spy on playwright Dreyman, having his apartment bugged and monitored. Though initially a supporter of the regime, Dreyman becomes disillusioned with the lack of freedom and censorship. Wiesler also transforms as he sees the human toll of the extensive surveillance. The film depicts the human rights violations people faced under the authoritarian Communist state, including lack of privacy, freedom of thought and expression, and arbitrary detention.
Ericsson Mobility Report - The lives of othersEricsson
Consumers are increasingly participating in and sharing information on multiple social media platforms. With an expected net addition of 3 billion smartphone subscriptions by the end of 2021, many more consumers will have easy access to social networks via apps and web browsers.
http://www.ericsson.com/mobility-report
Based on user feedback, I discuss the most requested features for PostgreSQL, their implementation status, difficulties, blockers, and future plans. Items include replication, materialized views, parallel queries, in-place upgrade.
Porting Oracle applications to PostgreSQL can be difficult due to differences in SQL syntax, data types, functions, and PL/SQL implementations between the databases. While many elements like table definitions and queries may port easily, issues arise with data types, functions, outer joins, null values, triggers, date/time handling, and PL/SQL syntax. A full rewrite may be preferable to porting in many cases. Careful evaluation and planning is needed to determine the best approach.
This document provides an overview of PL/Proxy, a database partitioning system implemented as a PostgreSQL procedural language extension. PL/Proxy allows applications to perform database operations like inserts, updates, deletes and queries across multiple PostgreSQL database partitions in a transparent manner. It works by routing operations to the appropriate partition based on the value of a partitioning key. The document discusses PL/Proxy concepts, areas of application, example usage, installation, backend and frontend functions, configuration options and more.
This document discusses using Python to connect to and interact with a PostgreSQL database. It covers:
- Popular Python database drivers for PostgreSQL, including Psycopg which is the most full-featured.
- The basics of connecting to a database, executing queries, and fetching results using the DB-API standard. This includes passing parameters, handling different data types, and error handling.
- Additional Psycopg features like server-side cursors, transaction handling, and custom connection factories to access columns by name rather than number.
In summary, it provides an overview of using Python with PostgreSQL for both basic and advanced database operations from the Python side.
Some wonderful Linux softwares for daily usearun.arwachin
This document provides summaries of various Linux software applications for everyday use, including office suites, web browsers, programming tools, scientific programs, multimedia players, and other utilities. It also includes brief descriptions of integrated development environments like Eclipse, MonoDevelop, Kdevelop, and Bluefish. Additionally, it lists some useful Linux-related links for topics like the kernel, Debian, Red Hat, downloading ISOs and RPMs, documentation, and Linux news/forums.
This document provides an overview of the Linux development environment and its components. It discusses how Linux benefits programmers through open source collaboration and access to code. Embedded systems are highlighted as a major application area for Linux due to its customizability and low memory usage. The key components of a Linux development platform are outlined, including editors, compilers, linkers, debuggers, version control systems, and documentation tools.
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesLinaro
"Session ID: BUD17-104
Session Name: Scripting Languages in IoT: Challenges and Approaches - BUD17-104
Speaker: Paul Sokolovsky,
Track: LITE
★ Session Summary ★
Scripting languages is hot emerging topic in IoT. They allow easy learnability and rapid prototyping and further benefits (like production use) as they evolve. This session compares approaches of MicroPython and JerryScript/Zephyr.js projects and gives status update on their Zephyr RTOS ports.
---------------------------------------------------
★ Resources ★
Event Page: http://connect.linaro.org/resource/bud17/bud17-104/
Presentation: https://www.slideshare.net/linaroorg/bud17104-scripting-languages-in-iot-challenges-and-approaches
Video: https://youtu.be/lIO8QL2SRuU
---------------------------------------------------
★ Event Details ★
Linaro Connect Budapest 2017 (BUD17)
6-10 March 2017
Corinthia Hotel, Budapest,
Erzsébet krt. 43-49,
1073 Hungary
---------------------------------------------------
Keyword: IoT, scripting languages, Zephyr, LITE, Paul Sokolovsky,
http://www.linaro.org
http://connect.linaro.org
---------------------------------------------------
Follow us on Social Media
https://www.facebook.com/LinaroOrg
https://twitter.com/linaroorg
https://www.youtube.com/user/linaroorg?sub_confirmation=1
https://www.linkedin.com/company/1026961"
The document provides an introduction to free software, open source, and GNU/Linux, discussing key concepts like the four freedoms of free software and differences between Linux as a kernel, operating system, and distribution. It also briefly outlines the author's background and role with the Egypt GNU/Linux Users Group, as well as a brief history and evolution of GNU/Linux.
Containers for Science and High-Performance ComputingDmitry Spodarets
Within this talk, we will explore how Singularity liberates non-privileged users and host resources (such as interconnects, resource managers, file systems, accelerators, etc.) allowing users to take full control to set-up and run in their native environments. This talk explores how Singularity combines software packaging models with minimalistic containers to create very lightweight application bundles which can be simply executed and contained completely within their environment or be used to interact directly with the host file systems at native speeds. A Singularity application bundle can be as simple as containing a single binary application or as complicated as containing an entire workflow and is as flexible as you will need.
You think you're not a target? A tale of three developers...Speck&Tech
If you develop or distribute software of any kind, you are vulnerable to whole categories of attacks upon yourself or your loved ones. This includes blackmail, extortion or "just" simple malware injection… By targeting software developers such as yourself, malicious actors, including nefarious governments, can infect and attack thousands — if not millions — of end users. How can we avert this? The idea behind "reproducible" builds is to allow verification that no flaws have been introduced during build processes; this prevents against the installation of backdoor- introducing malware on developers' machines, ensuring attempts at extortion and other forms of subterfuge are quickly uncovered and thus ultimately futile. Through a story of three different developers, this talk will engage you on this growing threat to you and how it affects everyone involved in the production lifecycle of software development, as well as how reproducible builds can help prevent against it.
BIO: Currently Project Leader of the Debian GNU/Linux project and a member of Board of Directors for the Open Source Initiative, Chris is a freelance computer programmer, author of dozens of free-software projects and contributor to 100s of others. He has been official Debian Developer since 2008 and is currently highly active in the Reproducible Builds sub-project. In his spare time he is an avid classical musician with a penchant for baroque music. Chris has spoken at numerous conferences including LinuxCon China, HKOSCon, linux.conf.au, DjangoCon Europe, LibrePlanet, OSCAL, All Things Open, SCALE, Software Freedom Kosovo, #freenode Live, DebConf, FOSS'ASIA, as well as given guest lectures at New York University Tandon School of Engineering & Cambridge University and is looking forward to sharing his enthusiasm with the Speck&Tech community.
Presented at FOSDEM 2017 in Brussels.
Introduction into the Fedora Modularity project - separating software (and it's life cycle and SLA) from the distribution by introducing the concept of modules.
The black slide in the middle should have included the following video: https://www.youtube.com/watch?v=xNLhcYEMgO0
More information: https://fedoraproject.org/wiki/Modularity
The document discusses ways to improve long C++ compilation times. It describes how C++ code is traditionally compiled into individual object files and then linked into an executable. This process can be lengthy. The document proposes parallelizing compilation by splitting source files among multiple compiler processes. It also suggests using caching and distributed compilation techniques like CCache and distcc to further speed up builds. Statistics are presented showing how these approaches can significantly reduce compilation times for large C++ codebases. Overall, the document explores common issues that slow C++ compilation and different strategies for addressing this problem.
UniK - a unikernel compiler and runtimeLee Calcote
This document contains the slides from a presentation by Lee Calcote on UniK, an open source tool for building and deploying unikernels. UniK allows developers to compile applications written in languages like Java, C++, Python and Go directly into small, secure virtual machines called unikernels. It supports deploying unikernels on various cloud platforms and virtualization technologies. The presentation covers what unikernels are, the UniK tool, its architecture and components, and demonstrates how to use UniK to build and deploy a sample application as a unikernel.
The document describes Collabograte, an integration platform for collaboration components. It aims to provide an open platform for integrating components like wikis, blogs, mailing lists, and chat while maximizing user freedom and flexibility. It uses Puppet for configuration management and integrates components like OpenLDAP, MediaWiki, WordPress, Postfix, Cyrus, and ejabberd. Collabograte provides virtual machine images and Puppet modules to configure the integrated stack on a Linux host.
Systemd: the modern Linux init system you will learn to loveAlison Chaiken
The talk combines a design overview of systemd with some tutorial incofrmation about how to configure it. Systemd's features and pitfalls are illustrated by short demos and real-life examples. Files used in the demos are listed under "Presentations" at http://she-devel.com/
Video of the live presentation will appear here:
http://www.meetup.com/Silicon-Valley-Linux-Technology/events/208133972/
Managing Software Dependencies and the Supply Chain_ MIT EM.S20.pdfAndrew Lamb
This document discusses managing software dependencies and supply chains. It provides perspectives from commercial and open-source development. While dependencies can lower costs by reusing code, they also introduce risks around licensing, quality, security, build times, packaging, and keeping dependencies up to date. Best practices for managing dependencies include thinking critically about new dependencies, continuous integration and testing, using package managers, keeping dependencies up to date, investing in dependent libraries, and containerization for packaging.
Dev environment for linux (Mainly KDE and python)Assem CHELLI
This document discusses recommendations for setting up a Linux development environment, mainly focused on Python and KDE. It recommends choosing a well-known Linux distribution like Debian or Ubuntu and customizing it as desired. It provides suggestions for terminals, text editors, version control tools, IDEs, browsers and other utilities to consider for an efficient development environment. The presenter's personal toolset includes Ubuntu, KDE, Vim, Sublime, Konsole, Yakuake, Git, Git-cola, Python, PyCharm and Thunderbird. Overall the document aims to provide suggestions for configuring a clear, stable and customizable Linux development environment without being overly prescriptive.
The adoption of FOSS workfows in commercial software development: the case of...dmgerman
The document discusses how Git and GitHub have adopted workflows from open source software development. It notes that Git allows developers to work independently through decentralized version control while maintaining visibility into others' work. GitHub also facilitates collaboration through features like pull requests and issue tracking that focus communication around code. This allows self-organized teams to operate independently yet coordinate through peer code reviews of small, discrete contributions before they are merged. Overall Git and GitHub are promoting open source development practices for commercial software teams.
Linux Distribution Collaboration …on a Mainframe!All Things Open
Presented at All Things Open 2023
Presented by Elizabeth K. Joseph - IBM
Title: Linux Distribution Collaboration …on a Mainframe!
Abstract: Linux has run on the mainframe architecture (s390x) for over 20 years now, and there’s even Linux-only mainframe hardware! But tight collaboration between the Linux distributions is rather new. Enter the Open Mainframe Project Linux Distributions Working Group, founded in late 2021.
Bringing together various Linux distributions, both corporate-backed and community-driven, representatives from openSUSE, Debian, Fedora, SUSE, and more immediately joined the effort to share bug reports and patches that impact all the distributions. Issues are often shared and discussed on the mailing list, and more complicated topics covered during the monthly meetings. The working group has a number of success stories that will be shared.
Future potential issues are also tackled, and notes shared about upstream changes that may soon impact the package processes. In the latest effort, the team has started thinking about actual upstream projects to invite to our group to be more pro-active about changes that may cause problems on the s390x architecture.
But more importantly, this is a story about community and collaboration. Many people view the various Linux distributions as a competitive space, but like so much of the open source software community, we are all more successful when we share knowledge about our core. The success of this working group, and growing enthusiasm for it from new Linux distributions who are joining, is a great example of this.
Find more info about All Things Open:
On the web: https://www.allthingsopen.org/
Twitter: https://twitter.com/AllThingsOpen
LinkedIn: https://www.linkedin.com/company/all-things-open/
Instagram: https://www.instagram.com/allthingsopen/
Facebook: https://www.facebook.com/AllThingsOpen
Mastodon: https://mastodon.social/@allthingsopen
Threads: https://www.threads.net/@allthingsopen
2023 conference: https://2023.allthingsopen.org/
This document discusses IzPack, an open source installation framework. It begins with an introduction and demo of IzPack's features. Some key features discussed include cross-platform compatibility, customizable installers, conditions and languages packs. The document then discusses IzPack's positioning as the only true cross-platform installer. It concludes with thoughts on open source software, including community growth over time and governance challenges.
- Systemd is now the most widely used Linux init system, replacing sysVinit. It has a superior design with tight integration with the Linux kernel.
- Systemd aims to extract duplicate functionality from individual daemons and replace init scripts with declarative configuration files. It provides a single daemon, systemd, to manage all system services.
- While systemd exemplifies needed modernization of Linux, its rapid development and deprecation of features could cause problems during the transition by distributions.
This document provides an overview and comparison of various source control systems, including Subversion (SVN), Git, Bazaar (Bzr), and Mercurial (Hg). It discusses features of centralized and distributed version control systems. Key centralized systems include SVN, while distributed systems include Git, Bzr, and Hg. The document compares aspects like creators, users, licenses, and documentation quality. It also covers concepts like local repositories, snapshots vs changesets, and branching in distributed version control. Hosted code solutions and social coding aspects are briefly outlined.
Similar to The Lives of Others: Open-Source Development Practices Elsewhere (20)
This document outlines the challenges of porting Oracle applications to PostgreSQL. It discusses porting SQL syntax, data types, functions, sequences, outer joins, and default parameters. Many changes are required such as modifying data types, functions like DECODE, sequence syntax, outer join syntax, and handling default parameters. The document emphasizes that porting projects are difficult and compatibility is limited, but success can be rewarding.
The document discusses PostgreSQL's current and future support for XML. It outlines current features like the XML data type, XML publishing functions, XML export, and XPath support. Future plans include adding validation against DTDs and XML schemas, annotated schema decomposition, XSLT transformations, improving performance, full-text search on XML data, and more advanced indexing. Several examples are provided to illustrate current XML functionality in PostgreSQL.
This document summarizes Peter Eisentraut's presentation on XML support in PostgreSQL. It discusses the types of XML support including an XML data type, XML export format, and mapping XML documents to SQL databases. It also outlines specifications like SQL/XML, features of the XML data type, functions for input, output, and querying XML, and the status and future of XML support in PostgreSQL.
The Road to the XML Type: Current and Future DevelopmentsPeter Eisentraut
The document discusses current and future developments related to XML support in PostgreSQL. It describes current features like the XML data type, XML publishing functions, and XML export functions. Future plans include adding XPath support and further developing areas like XML validation, indexing XML data, and XQuery support to comply with SQL standards. The goal is to improve PostgreSQL's capabilities for storing, querying, and exporting XML content and schemas.
This document summarizes PL/Java, which allows writing server-side functions in Java for PostgreSQL. It discusses how to define and deploy Java functions, configure PL/Java, handle parameters and return types, use JDBC from functions, and write triggers in Java. While compatible with Oracle's SQL/JRT standard, PL/Java has some limitations around memory usage and performance. It works best on Linux and is a stable option for adding Java code to PostgreSQL databases.
This document discusses various goals, techniques, and solutions for replicating PostgreSQL databases. The goals covered are high availability, performance for reads and writes, supporting wide area networks, and handling offline peers. Techniques include master-slave and multi-master replication, proxies, and using standby systems. Specific solutions described are Slony-I, Slony-II, PGCluster, DBMirror, pgpool, WAL replication, Sequoia, DRBD, and shared storage. The document provides an overview of how each solution can help achieve different replication goals.
PostgreSQL 8.1 was recently released with hundreds of changes and new features including:
1) Bitmap scans allow using more than one index per table by combining index hits in memory.
2) Two-phase commit support allows prepared transactions to be preserved across server restarts.
3) The new role system unifies users and groups and roles can own database objects.
4) Constraint exclusion avoids lookups on child tables when constraints make rows impossible.
Collateral Damage: Consequences of Spam and Virus Filtering for the E-Mail Sy...Peter Eisentraut
The document discusses the collateral damage caused by spam and virus filtering techniques. It analyzes various techniques like DNS blacklists, bounce messages, greylisting, SPF, blocking port 25, and challenge-response systems. Many techniques are found to be ineffective against spam, annoy users, violate privacy, or break functionality. It warns against inventing your own filters and notes legal issues around privacy, database building, and user consent with filtering. The conclusion is that email reliability has decreased due to both spammers and inappropriate filter applications.
Collateral Damage:
Consequences of Spam and Virus Filtering for the E-Mail S...Peter Eisentraut
This paper takes a critical look at the impact that contemporary spam
and virus filter techniques have on the stability, performance, and usability
of the e-mail system.
Immer nur Daten speichern und abfragen ist auf die Dauer vielleicht ein bisschen langweilig. Wer sonst schon alles kennt, kann hier entdecken, wozu Datenbank-Hacker mit zu viel Zeit und Inspiration fähig sind: Programmieren in LOLCODE, PostgreSQL auf dem Handy, Daten aus dem Internet einbinden, PostgreSQL als Dateimanager oder umgekehrt, Fraktale malen mit SQL, und mehr.
Zwischen den Zeilen lassen sich ernsthaft die aktuellen Möglichkeiten von Open-Source-Datenbanken und die einzigartige Schaffenskraft der Open-Source-Community erfahren.
http://chemnitzer.linux-tage.de/2009/vortraege/detail.html?idx=114
SQL/MED provides methods to access non-SQL data from SQL. It includes a wrapper interface that allows defining foreign tables on foreign servers accessed through foreign data wrappers. It also includes datalinks to manage files referenced from a database. PostgreSQL 8.4 includes initial SQL/MED support and substantial additional support is planned for 8.5, including writing wrapper libraries and foreign table support.
SQL/MED is Management of External Data, a part of the SQL standard that deals with how a database management system can integrate data stored outside the database. The implementation of this specification has begun in PostgreSQL 8.4 and will over time introduce powerful new features into PostgreSQL.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...alexjohnson7307
Predictive maintenance is a proactive approach that anticipates equipment failures before they happen. At the forefront of this innovative strategy is Artificial Intelligence (AI), which brings unprecedented precision and efficiency. AI in predictive maintenance is transforming industries by reducing downtime, minimizing costs, and enhancing productivity.
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Tatiana Kojar
Skybuffer AI, built on the robust SAP Business Technology Platform (SAP BTP), is the latest and most advanced version of our AI development, reaffirming our commitment to delivering top-tier AI solutions. Skybuffer AI harnesses all the innovative capabilities of the SAP BTP in the AI domain, from Conversational AI to cutting-edge Generative AI and Retrieval-Augmented Generation (RAG). It also helps SAP customers safeguard their investments into SAP Conversational AI and ensure a seamless, one-click transition to SAP Business AI.
With Skybuffer AI, various AI models can be integrated into a single communication channel such as Microsoft Teams. This integration empowers business users with insights drawn from SAP backend systems, enterprise documents, and the expansive knowledge of Generative AI. And the best part of it is that it is all managed through our intuitive no-code Action Server interface, requiring no extensive coding knowledge and making the advanced AI accessible to more users.
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on automated letter generation for Bonterra Impact Management using Google Workspace or Microsoft 365.
Interested in deploying letter generation automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Building Production Ready Search Pipelines with Spark and Milvus
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;
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.