ownCloud and distributions
Published on 2016-03-30
I want to respond in more detail to the response to my Tweet to @ownClouders earlier. I wrote:
Relevant for the @ownClouders and Debian/Fedora packaging discussion: http://enricozini.org/blog/2014/debian/debops/
This article is written by a software developer who takes Debian as a base operating system and develops his software targeting Debian stable. It brings him many benefit like "free" security updates and bug fixes in the operating system and the libraries he needs that are already available in Debian. That way he can focus on just his software and not the dependencies, or worry about moving targets.
Responses
@fkooman it's great if you have the time to support old platforms... But for a big project, it is a huge investment with minor benefit
The recommended target distribution to install the latest version of ownCloud 9.0 on is Red Hat Enterprise Linux 7. This distribution is using PHP 5.4, which is still supported by ownCloud. This is, at least in the PHP world, a very old platform that is being supported.
About the benefits of distribution packaging: I think the most visible benefit of providing
official distribution packages would be for the
community and the users. Only having to do yum install owncloud
and yum update
to have a working setup without worrying about
verifying signatures and keeping it up to date is not a minor benefit! But also
for the developers there are some big benefits:
- Quality: by using the official packaging guidelines and untangling the
dependencies in separate packages there is an incentive to use high quality
dependencies that can easily be packaged and to limit the number of
dependencies. Dependencies are not free even if they only seem a
composer require
away; - Testing: on most PHP packages in Fedora the included test suite in run during build on the exact same version of the components they will later run on (example);
- Maintenance: by separating the application in its components maintenance becomes easier. When fixing a bug in a dependency it is easier to just update the package for the dependency, leaving the rest alone;
- Collaboration: some of the work of packaging can be shared among other packagers who require the same dependencies, many are already packaged. As a result more users than just the ownCloud users can benefit of the work;
To me, these are convincing reasons to package the (web) applications I develop immediately for Fedora/CentOS. Initially it is a little more work, but later on the costs reduce substantially if you only have to worry about your application and not the dependencies once they are packaged and reliable.
@fkooman and sadly, volunteers seem not interested, neither do customers want to pay for it....
Volunteers were interested, but got demotivated by the problems they had to deal with.
Given the reasons above for choosing distribution packaging, I think customers are paying for it already, considering it is really QA and software hygiene. I'm pretty sure enterprise customers would really like to have software they can install on a server and leave alone for a year or longer without requiring complicated upgrade processes, while only installing the occasional bug fix. Just for this reason I think it is important that the developers of the software themselves take on the packaging for the supported distributions and follow the platform conventions as much as possible to get the highest possible quality software, and in the process bring extra value to other projects running on the same platform.