aboutsummaryrefslogtreecommitdiffstats
path: root/posts/owncloud_distributions.md
blob: b479678f1afed36c10f78b340ebd84ddb19d0d9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
---
title: ownCloud and distributions
published: 2016-03-30
---

I want to respond in more detail to the response to my [Tweet](https://twitter.com/ownClouders/status/714797692657000453) to [@ownClouders](https://twitter.com/ownClouders) earlier. I wrote:

> Relevant for the @ownClouders and Debian/Fedora packaging discussion: 
> [http://enricozini.org/blog/2014/debian/debops/](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](https://doc.owncloud.org/server/9.0/admin_manual/installation/system_requirements.html) 
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](https://apps.fedoraproject.org/packages/php-guzzlehttp-guzzle/sources/spec/));
* 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](https://www.happyassassin.net/2015/08/29/looking-for-new-maintainer-for-fedora-epel-owncloud-packages/) 
[interested](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816376), 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.