ownCloud and distribution packaging
The hurdles of pushing new software releases out to users via Linux distribution mechanisms have been well-documented in recent years. The sometimes lengthy delay between an upstream release and a new package being available from distributions motivated Mozilla's Extended Support Release (ESR) program and to various efforts at application sandboxing (such as GNOME's xdg-app). But sometimes the gulf between the upstream developers and the distribution is more fundamental, as a recent debate about ownCloud packages for Debian revealed.
Jos Poortvliet, community manager for the ownCloud project,
posted
a blog entry on January 4 recommending that users eschew
distribution-provided ownCloud packages and install only those
packages released by ownCloud itself. He cited the lag between the
release and the distribution's package update, along with several
other complaints. Distributions, he said, sometimes "don't grab the right
code (like relying on a git tag rather than final zip files) or miss
changes in dependencies which can break installations
".
In addition, distribution packages can make upgrading problematic, he said, since:
Finally, he contended that:
Not surprisingly, some in the distribution community took umbrage
at Poortvliet's characterization of the situation. Martin Steigerwald
brought the post to the attention of the Debian ownCloud package
maintainers, noting in his message
that he had tried both the official Debian package and the one
provided by ownCloud. The ownCloud package, he said, "was a
*complete* disaster.
"
In particular, he said it was "like a tar.gz inside a Debian
package. It just unpacks everything to /var/www/htdocs or something
like that
". The configuration files were not placed in
/etc (as they are in the official Debian package), and it
required the user to manually perform upgrade tasks like updating the
application's database—another task that is automated in the
Debian package. Apart from the shortcomings he saw in the upstream
package, though, Steigerwald asked Poortvliet why he seemingly did not
try to fix any of the problems he encountered with Debian's packages, asking "how about
trying to find a way to *work* together and thus stop splitting man power? How
about providing properly packaged packages that actually meet the Debian
Policy for them? Did you ever talk to the distro teams about this?
"
He also mentioned that he had talked to the maintainer of Debian's ownCloud package, David Prévot, who said it was unlikely that Debian could backport the current ownCloud release (version 8) to "jessie" (which includes ownCloud 7) because such a backport would pull in backports of other potentially problematic packages, like PHP. It would be better, Steigerwald said, for ownCloud to provide Debian-compatible backports. Doing so for security fixes is vital, while doing so for regular releases would help end users stay current. He invited further participation:
There were commenters on Poortvliet's blog post who raised
concerns as well. For instance, Nicolás Alvarez said:
"If your git tags and your tarballs / zip files differ, you are doing
things wrong, not the packagers.
" Prévot also replied
to Steigerwald's email and said that he had tried in the past to work
with ownCloud, providing patches to ownCloud's Debian packages, but
without success.
Poortvliet wrote
back in reply to the thread with a message that did not seem to
improve the spirit of collaboration. He called concern over where
a package stores its configuration files " Much of the remainder of the email reiterated his criticisms of
distribution packaging, while dismissing ideas raised by Steigerwald. He closed by suggesting that Debian create a set of guidelines for
packaging web apps, moving to " Steigerwald then replied
with surprise at the level of frustration expressed in Poortvliet's
email. Debian, he said, has principles that make moving to a
proprietary platform like GitHub impossible, and it is not reasonable
to ask a distribution to drop its own project infrastructure for the
sake of working with one upstream project.
In the exchange that followed, Poortvliet made it clear that
he regards the "packaging problem" as one that distributions need to fix
from their side. To
his eye, the future of packaging is in projects like Docker, while
" Steigerwald, however, contended
that packaging trends come and go, and said he would rather help shape
a solution than simply react.
Eventually, Poortvliet did note
that ownCloud's packaging team believes that its own packages could
stand improvement, but he reiterated that he is interested in
solutions that make packaging uniform across Linux distributions.
The discussion wound down shortly thereafter, when both sides
concluded that there was little to be gained by retreading the same
ground yet again. It remains to be seen whether any minds will be
changed with the addition of more time to reflect on the question.
Certainly there are many (particularly from the web-development
community) who would agree with Poortvliet that existing Linux
packaging rules do not fit their software's needs.
But there are certainly others with valid reasons to be suspicious
of claims that Docker-style containers represent the zenith of package
evolution. There have been other pretenders to that throne in past,
after all. Perhaps the saddest outcome of the debate is the fact that
neither side seemed to be able to persuade the other to commit to
long-term collaboration. In the end, that represents a lost
opportunity for both the projects and end users alike.because of some
outdated policy
", then advised the list that:
an open, transparent platform
where distribution and upstream people can collaborate on creating
packages
" (having suggested GitHub and the Open Build System earlier) and
synchronizing such efforts with other distributions so as to reduce work.
Debian and other distributions are going to be that thing you
run docker on, little more.
" He also rejected a call to work
with Debian's packaging team as:
Posted Jan 7, 2016 2:50 UTC (Thu)
by smoogen (subscriber, #97)
[Link] (9 responses)
Posted Jan 7, 2016 14:07 UTC (Thu)
by jospoortvliet (guest, #33164)
[Link] (8 responses)
Software, in general, has moved from "old is stable and dependable, let's not bother users with change" to "do fast, incremental changes to make it easier for users to keep up and fix problems faster".
It isn't just docker which shows people see a need for working around distributions. So is the work by the systemd/GNOME team working on different solutions. So are the various cross-distribution packaging tools. And what about language-specific tools like RubyGems / Bundler (Ruby), PIP / PyPI (Python), Packagist / Composer (PHP), NPM (Node.JS), Bower (JS, CSS, HTML) and so on.
That's not even talking about the needs of proprietary software and games - at least with those you can debate if you want to provide a nice, convenient platform for them or not. But, as of today, even the manuals and canonical way of installing many open source applications like drupal and wordpress escew packages and is simply based on a zip file or tar ball.
That shows, imho, that distributions fail to meet the needs of a growing number of developers and users. Here, as often, perfect is beaten by good enough (all these tools have massive flaws, I grant you that in a second).
And that was what my ranting was about. We might drop packages altogether, follow our fellow web apps offering a installer in a zip file or something. We already have a VM which is growing in popularity. A container might be next.
As I come from a distro background (openSUSE) I find that sad. I think distributions have an important role to play, for security but also Software Freedom reasons. So I'd rather see it differently, but for that, the distributions have to adapt. Not the rest of the world.
IF they care, of course, about being relevant. Many folks probably are happy if things work for them and that might explain the responses I got. Besides the, to be expected, anger about my tone and ppl taking it far more personal than they perhaps should have. Then again, had I been nice, nobody would've noticed the blog, so go figure.
Posted Jan 7, 2016 14:13 UTC (Thu)
by jospoortvliet (guest, #33164)
[Link]
Posted Jan 7, 2016 16:00 UTC (Thu)
by smoogen (subscriber, #97)
[Link] (6 responses)
And while that is probably a small percentage of overall "operations" they are usually the ones who have the most to lose and are usually the ones closest to company finance groups (as they are the ones with the most to lose when things go wrong). It may not be the world you want to "sell" to and that is fine and great, but it is what you are going to run into and the ones you need to at least show "I understand your concerns but we don't think our software will ever be good in your environment." which is what they need to hear when their finance guy says "I want an inhouse cloud like I read in Forbes but remember we can all go to jail if systems go down".
Posted Jan 7, 2016 17:32 UTC (Thu)
by jospoortvliet (guest, #33164)
[Link] (4 responses)
We ship directly to customers, including several financial institutions (though only a few are willing to be open about that for now, you can check which ones on owncloud.com if you want).
And I would guess this is the norm for enterprise software. Or do you get your Oracle packages from Debian?
The conversation I started was mostly for the benefit of home users, but for the enterprise it is of course also messy. To support RHEL, SLE and Debian, you have to either create about ~10 sets of packages or ship one container. Or a VM, ours is becoming surprisingly popular among our enterprise customers.
Posted Jan 7, 2016 20:41 UTC (Thu)
by smoogen (subscriber, #97)
[Link]
Posted Jan 7, 2016 23:34 UTC (Thu)
by Jandar (subscriber, #85683)
[Link] (2 responses)
As a home user I considered using ownCloud to consolidate various quick&dirty hacks of my own. I'm using my own hacks because they are *stable* due to the fact that they are based on *stable* software provided by debian. As long as my requirements don't change absolutely no maintenance necessary.
I'm using debian at home on my servers and on my desktop because it is stable. There would have to be a very compelling reason to accept a package which requires more maintenance than "apt-get update && apt-get upgrade".
Being a *user* means using not maintaining.
There are thing I'm passionate about and for these I spend a lot of time. Other things I use because they are convenient for me, ownCloud would be such a convenient thing. For me convenient software means: ease of use, stable way of use and don't steal my *time* with required individual maintenance and pampering.
It seems to me ownCloud isn't ready to be only used, my private hacks to scratch my own needs are given more years to live. This is unfortunate because I was looking forward to learn ownCloud, but only to learn for a limited time not to maintain indefinitely.
Posted Jan 8, 2016 17:47 UTC (Fri)
by jospoortvliet (guest, #33164)
[Link] (1 responses)
Reality, right now, is that the many, sometimes conflicting, demands make it very hard to make a super reliable solution, especially if you throw in not only different databases and web servers but also, of course, a variety of ownCloud apps.
So we get often bugreports of users, using our or distribution packages, which experienced problems. We think that losing data sucks more than having to do manual steps on installation or upgrade, so we've "simplified" our packages a lot to the point where, right now, it isn't more than a tarball in a package.
That, too, sucks, so we're working on improving the upgrade process, to be more robust even when you have a weird setup or missing or broken dependencies or broken apps.
Until that is done, the automatic upgrade will go right 99.8% of the time and create irreparable ownCloud installations in 0.2%.
We've got millions of users (somewhere between at least 3 and possibly up to 8) so that 0.2% is hurting a lot of users, hence the changes we did and the blog post warning users.
Though the blog post was also me trying to tell distributions that the barrier they have created for software vendors is too big. But that's a different thing.
Anyhow. In your case, you want no changes and no work. Right now, we can't offer that. If you run ownCloud, you'll have to run the upgrade process, manually, on every upgrade, from the command line. Or risk data loss (a risk which gets progressively smaller on smaller installations by the way, a home user will be just fine).
Perhaps have a look again after 9.0 is out, the new upgrade process might have made it possible to create packages which cause less work. Of course, if you take the default stable distribution packages, you have to wait some more years to get that release, I suppose.
Posted Jan 12, 2016 18:18 UTC (Tue)
by jospoortvliet (guest, #33164)
[Link]
Posted Jun 8, 2016 0:57 UTC (Wed)
by linuxrocks123 (subscriber, #34648)
[Link]
Posted Jan 7, 2016 6:06 UTC (Thu)
by ptman (subscriber, #57271)
[Link] (1 responses)
Posted Jan 7, 2016 9:03 UTC (Thu)
by aleXXX (subscriber, #2742)
[Link]
In my experience companies feel responsible that their software works without problems on the end user machine. If the end user has a problem, the company support has to be able to fix the problem. So they often prefer to bundle the versions of libraries they are using, so they know what is running on the client machine. They don't care much whether this duplicates a library which already exists on this machine. They ship their own, so they know what's going on.
A non-commercial community feels responsible that their source releases work (build) properly, so distribution packagers can build packages. If the application then doesn't work for an end user e.g. on Fedora, it's in the first step a problem of the Fedora packager, but the community can say "our source package is just fine, the packager did something wrong".
This can be seen here in Jos' blog too. He is working now for OwnCloud, which is a company now, so they want to make sure their stuff works for the end user, and they can fix issues if there are any, without a man in the middle fiddling around.
Posted Jan 7, 2016 9:48 UTC (Thu)
by Seegras (guest, #20463)
[Link] (22 responses)
And one of the keystones to do that properly, is package management. The last few years we've seen constant disputes between distributions and things like developer-only languages like ruby, weird packaging-solutions as docker, and now ownCloud. And it's always the same: The developers of these things usually focus on developers and small-time end-users. And very much ignore system administration.
Yes you can have the newest ruby-on-rails, but then puppet won't work at the same time, on the same machine. Yes you can install these containers on some machine, but they won't be updated. Yes you can have the latest ownCloud, but then it pulls in duplicate libraries that won't get security upgrades. You can do this if you run one machine, you can't do this if you run dozens of machines.
And while they're arguing they need the latest and newest framework from git, they're packaging old SSL libraries at the same time. Because if you're working like that, you don't have any package management yourself. You don't really have the slightest idea what versions of what you really use, and this will be reflected by what you push out.
And this is simply not how you build sustainable systems. If you have a lot of machines, you need to be sure that you're running the same things, in the same versions everywhere; you can't just go "pip install" somewhere, and two weeks later somewhere else, where it will install a different version. And then wonder why it works on one machine but not on the other. And you can't just install some tarballs, and keep track of dozens of these things all around your systems to keep the up-to-date. You need to be able to rely on the package management, and on timely security upgrades; and that these upgrades really upgrade every instance of the vulnerable library.
So yeah, in fighting against distributions package management, you're actually fighting against system engineers and system administrators. Against the people that most likely need to install your software. Stupid.
Posted Jan 7, 2016 10:23 UTC (Thu)
by aleXXX (subscriber, #2742)
[Link] (20 responses)
Posted Jan 7, 2016 10:52 UTC (Thu)
by dgm (subscriber, #49227)
[Link] (10 responses)
I am convinced that there's no middle ground to be found that could be acceptable for this situations. We have to accept that we need two different solutions for two different problems. Docker is a way to allow developers have it their way, and that's fine. Debian must make sure that users do realize that there's danger of breakage and insecurity if you take install containers in your system, and that problems in containers do not (and cannot) propagate to the rest of the system.
Also, software developers must acknowledge that almost all users do not want to live on the bleeding edge, eventually. Even those developing solutions based on ownCloud right now will need to move onto other things eventually, and then they will need a system that requires as little attention as possible. For this, requiring that users update to the latests and greatest is not a solution in many cases. They need to copy a page from the Kernel and publish "LTS" releases that distributions can integrate, and keep publishing patches for them for as long as possibly.
All this mimics more or less how people are using their systems right now. The thing that's missing is recognition of the situation and commitment from all sides.
Posted Jan 7, 2016 12:40 UTC (Thu)
by sebas (guest, #51660)
[Link] (8 responses)
Adding a repository for every app I want this server to serve makes me a lot less confident about this, and I'd suddenly have to extend my network of trust to more than one single vendor. I'd much rather have Debian ship a version that is sanctioned by Owncloud upstream and which receives security fixes. This doesn't seem a priority for the Owncloud team, in fact Jos dismisses this concept. I can't judge why an LTS version suitable for the Debians and enterprise distributions is not something Owncloud considers important, it could be that they don't think the codebase is mature enough to support it for a longer amount of time, it could be that their business cases just don't allow this, it could be that paying customers have different requirements, but to me as a "home user" it sounds most appealing to have something trusteable, reliable and easy to maintain. Just like almost all other software running on that server. (The 1% Jos quotes here seems rather misinformed.)
Right now, running owncloud on a publically visible server means administration overhead, as it's one special case to look at. If every developer team did that, sysadmin overhead increases, and I as a lazy user/admin get unhappier with every bit of software added. It simply doesn't scale.
This means that it becomes a lot harder for me to run my own, trusted and privacy-respecting services, something which is right at the center of what Owncloud claims as its goals, yet they're failing spectacularly by providing what's necessary to make this possible. It's concerning to me that Debian's valid concerns are met with that level of ignorance.
I think if Jos's aim would be happy end users like me instead of just preventing outdated installations, the conversation would have gone differently. The bottom line is that systems like Debian have solved a lot of problems that also matter for the use of server software like owncloud, dismissing that doesn't go a long way to fixing these problems. Making owncloud distro-friendly from a deployment and maintenance point of view would be a real feature.
Posted Jan 7, 2016 14:20 UTC (Thu)
by jospoortvliet (guest, #33164)
[Link] (7 responses)
There are two things here. About the long term support, see my blog from the end of last year. Maybe there is a need, we don't provide it atm but we might some day in the future - IF we can be convinced it is really beneficial. It will be work, technically speaking, to make it happen, but we're working on overhauling our upgrade process which will help. About the collaboration with distributions: the thing is, and this is what I was, in the end, ranting about most: the distributions failed to provide an easy infrastructure for that. You can say - not their job. Maybe. But the result is that people decided to work around them, and that benefits nobody. See also my comment earlier on this page.
Posted Jan 8, 2016 17:52 UTC (Fri)
by jospoortvliet (guest, #33164)
[Link] (5 responses)
As KDE developer, you should be able to appreciate how hard it is to get to that point for all users and use cases...
In any case, this is certainly what we *want* to provide and we will get there. We've got a dedicated team of hard working people with a strong vision and direction, plus some very large customer/users helping to push and even directly involved.
Posted Jan 8, 2016 23:21 UTC (Fri)
by rahvin (guest, #16953)
[Link] (2 responses)
Honestly if you want your company to move beyond large enterprises and capture the small business market you need to realize that these people don't have the time and money to spend on securing the software. Even within the large enterprises they will at some point realize the extreme amount of IT budget being spent and will evaluate other solutions.
The distributions figured out how to do secure deployments with standard configurations a long time ago. Yes each distribution is a little different. But honestly going by other development projects you really only need to cover two distributions to cover the bulk of potential customers. These are Fedora and Debian as most of the others are built on top of their package management or outright modified copies of their distributions. And who knows, the work the systemd team is doing might become the one package manager or some other solution might satisfy that need.
As a home user and occasional small business person I want stable and secure above everything else and I'd be willing to bet my views are quite common in a very large market. A competitor is going to eat your lunch by filling this need if you don't acknowledge the use case. You should consider the release cycle on RHEL for a moment and consider what that says about the market they serve. Just saying.
Posted Jan 9, 2016 0:48 UTC (Sat)
by bronson (subscriber, #4806)
[Link] (1 responses)
I hope Jos is right, and that they now understand that having broken point releases and corrupting your data on upgrades is bad. Really bad. (This seems like a change of heart... was it inspired by anything?)
Mail-in-a-Box originally used the ownCloud Debian package, ran into issues, and now just installs from source. The downside is that this leaves them without security updates. That's been OK since ownCloud hasn't taken security very seriously.
How about PPAs at a minimum? (no tarball packages!) And, agreed, not sure I'll ever install a webapp by clicking a download link: https://download.owncloud.org/download/repositories/stabl...
Posted Jan 12, 2016 18:24 UTC (Tue)
by jospoortvliet (guest, #33164)
[Link]
Anyhow, I wanted to post a link to our blog about the work on the upgrade process: https://owncloud.org/blog/making-owncloud-upgrades-more-r...
We're working on addressing issues on our side.
Posted Jan 11, 2016 15:21 UTC (Mon)
by sebas (guest, #51660)
[Link] (1 responses)
In fact, even just putting the configuration into /etc/ and allowing it to be read from there could already give some confidence, I'm quite used to "update whatever is in share, but if you want to overwrite anything in /etc, please ask me first". Those are semantics common to pretty much everything else installed.
Really, the point is that i don't want non-standard packaging on my system, I don't want to add sources for packages that are incompatible with what the distribution ships. These things are entirely possible, it seems, just not a priority right now, and it makes it a pain for me to maintain my owncloud installation.
So, are you saying that you want to make owncloud installation adhere to common practices for package installation? I'd love that, but I realize that it'd be a 180° turn from all the info I could read that you published previously.
Posted Jan 12, 2016 18:28 UTC (Tue)
by jospoortvliet (guest, #33164)
[Link]
So are the other issues and differences between our packages and those from distributions: we simply had to respond to bug reports and telling people "you're doing it wrong" is just not something we see as a solution. Many ownCloud users are not very technical, heck, github is already quite a barrier, facebook messages are a frequent source of bug reports and issues...
In that sense, you could say we had a different focus than the distributions when it comes to user experience.
I just published a blog with more information about the work we're doing to make all this easier: https://owncloud.org/blog/making-owncloud-upgrades-more-r...
Of course, it won't solve all problems but it will help.
Posted Jan 27, 2016 4:09 UTC (Wed)
by Rudd-O (guest, #61155)
[Link]
tar cvzf tarfile.tar.gz directory is not the way to do it. Multiple people have told you this. Focus on making end users happy.
Posted Feb 13, 2016 22:52 UTC (Sat)
by jospoortvliet (guest, #33164)
[Link]
https://statuscode.ch/2016/02/distribution-packages-consi...
Posted Jan 8, 2016 10:44 UTC (Fri)
by epa (subscriber, #39769)
[Link] (8 responses)
Posted Jan 8, 2016 14:19 UTC (Fri)
by pizza (subscriber, #46)
[Link] (6 responses)
Oh, there certainly is considerable common ground -- but I believe the article's point is that OwnCloud upstream doesn't appear to care enough to even try. Heck, even just following the FHS's guidelines would be a big improvement.
Posted Jan 11, 2016 10:34 UTC (Mon)
by epa (subscriber, #39769)
[Link] (5 responses)
Posted Jan 11, 2016 12:13 UTC (Mon)
by jospoortvliet (guest, #33164)
[Link] (4 responses)
* distribution packages are more likely to break and result in data loss than ours
Note that we put in a LOT of effort supporting users with proper distribution packages, most projects don't. We had to because distributions don't provide what users want, including up to date packages for stable platforms.
Despite the efforts we still get loads of bug reports and users with issues. In response to bug reports and issues we've stupidified our our packages to avoid breakage, which unfortunately SUCKS as it made the packages barely better than a tarball :( (eg no auto-upgrade, no split, no config in etc, not even dependencies on most platforms as of today).
We'd also like to have our cake and eat it too, so we're looking to fix that but it is a hard problem. Maybe we will drop packages altogether, perhaps try to facilitate distributions providing them (though that often results in outdated packages but so be it) or provide a container (our VM is already VERY popular) or a tar.bz2 installer or something else... In any case, I'm publishing a blog post this week on what we're doing for 9.0 which is a fully revamped installer which might make it possible (after extensive testing) to re-enable automatic upgrading as part of the package installation process. Maybe.
Remember, our goal has been: provide 100% data safety. That is why we recommend not to use distribution packages. Users are free to decide not to follow that advice, at their own risk.
Posted Jan 11, 2016 16:46 UTC (Mon)
by pizza (subscriber, #46)
[Link] (2 responses)
And my point, based on my personal experience, is that the official OC packages tended to break more often than not. No data loss, but manual intervention was still necessary to restore service.
Are things better now? I certainly hope so, but for my use case (PIM/groupware) OC doesn't offer a sufficiently compelling reason for me to migrate back over and try again.
Posted Jan 11, 2016 18:51 UTC (Mon)
by bronson (subscriber, #4806)
[Link] (1 responses)
I'm still on ownCloud but I've been wanting to migrate away for months.
Posted Jan 11, 2016 22:06 UTC (Mon)
by pizza (subscriber, #46)
[Link]
Posted Jan 13, 2016 13:41 UTC (Wed)
by epa (subscriber, #39769)
[Link]
Posted Jan 9, 2016 16:44 UTC (Sat)
by lsl (subscriber, #86508)
[Link]
Posted Jan 7, 2016 13:07 UTC (Thu)
by philipstorry (subscriber, #45926)
[Link]
All I'd like to add is that I'm now quite suspect of the ownCloud project's code. If they have this short-sighted attitude to package management, then what other potentially poor decisions have they taken in the design or implementation?
Posted Jan 7, 2016 11:06 UTC (Thu)
by remicardona (guest, #99141)
[Link] (2 responses)
ownCloud upstream sound a bit like the ion3 upstream: "me and my precious code". There's a reason linux distros work: package management. We wouldn't be celebrating 20 years of Debian if it weren't for APT. As a Gentoo dev, I've had my share of upstream projects not wanting to help, belittling the work we put, and swathes of other unpleasantries. Usually, the packaging problems we encounter (and fix) do help upstream directly by having more predictable build systems and software all around. There are simple steps that any upstream project can follow, at almost zero cost, that will make life so much easier for distributions: To conclude on a happier note, thankfully not all upstreams are like ownCloud. I think one of the best examples of a great upstream is PostgreSQL. They provide standard source tarballs for distrubtions to package, but since distributions usually carry only one version of PostgreSQL (whereas upstream support 5 major versions at any given time), they provide binary repositories for Debian/Ubuntu and RHEL/Centos.
Posted Jan 14, 2016 4:35 UTC (Thu)
by gwg (guest, #20811)
[Link] (1 responses)
There's a reason that Linux has never been successful "on the desktop" : linux distros.
Lack of a common and stable Linux application API & ABI is now leading some people to ridiculous measures : - Containers, re-inventing the operating system within an operating system, in an attempt to paper this over.
As an application developer, the API/ABI problem is the technical reason that Linux is the least attractive platform to develop for.
Posted Jan 15, 2016 1:18 UTC (Fri)
by flussence (guest, #85566)
[Link]
Posted Jan 7, 2016 11:09 UTC (Thu)
by k3ninho (subscriber, #50375)
[Link] (1 responses)
We're reading how Ian Murdock put together a system to manage interdependencies on GNU/Linux systems as part of reflecting on losing Ian Murdock while, next to it, there's this. It has the familiar pattern of a business saying 'not invented here -- use our tarballs' in place of proper package management. This claim that serious production deployments will use download-and-deploy containers deserves contempt -- almost everything has a small amount of custom configuration and kludges, and everything done right has verification from the ground up and systems which ensure continued effective interoperation. Worse, when we benefit from distribution communities working hard to have packaged software play nicely together, this is Jos Poortvliet and OwnCloud (careful to not apply my own mental habit of s/cloud/clown here) wanting to drop that work on their users.
K3n.
Posted Jan 7, 2016 17:35 UTC (Thu)
by jospoortvliet (guest, #33164)
[Link]
Considering how extensively projects work around distribution packaging already (from pep and gem to the various containers) I'm not sure if the ship hasn't already sailed.
Posted Jan 7, 2016 16:04 UTC (Thu)
by jhhaller (guest, #56103)
[Link] (3 responses)
I'm not sure how to best addresses these issues, but one approach would enable more packages to support multiple versions, and for packages to declare compatible package versions of its dependencies. This would require each package to have it's own set of links to the packages it needs, and starting another package from the first one would be complicated. But neither the current package model, nor the integrated application model seems to be optimal.
Posted Jan 8, 2016 14:19 UTC (Fri)
by mjthayer (guest, #39183)
[Link] (1 responses)
At least for libraries, static linking can help here. A distribution could provide one version of a library for dynamic linking and multiple versions statically. Of course, it means more packages to update if there is a security issue.
Posted Jan 8, 2016 16:47 UTC (Fri)
by pizza (subscriber, #46)
[Link]
In this case, we're talking about PHP, which provides no meaningful mechanism for parallel installation of multiple versions of the same library. You could privately bundle some things (ie pure PHP/PEAR stuff) with your application but with other things that rely on native compiled extensions (ie PECL) you're stuck using whatever the system has installed globally.
Unless you bundle your own PHP runtime, and maybe a webserver too.... and oh look, it's turtles all the way down.
Posted Jan 9, 2016 16:59 UTC (Sat)
by lsl (subscriber, #86508)
[Link]
Then package those two versions (current and legacy/compat) in distros. Drop the compat packages as users disappear, but no sooner. Hopefully, for most packages, their developers have enough taste and engineering discipline that, most of the time, you only need a single version of it.
Posted Jan 7, 2016 19:53 UTC (Thu)
by flussence (guest, #85566)
[Link]
Distros certainly are struggling to keep up... with how rapidly standards of software engineering are plummeting.
Even Windows now discourages this attitude of “we own a chunk of your computer if you use our software”. ownCloud apparently didn't get the memo.
Posted Jan 7, 2016 22:50 UTC (Thu)
by pizza (subscriber, #46)
[Link] (3 responses)
I'm talking about basic failures like having to manually disable maintenance mode and more often than not, be forced to manually re-enable the PIM plugins which, for me, were the entire point of using OC.
As a final insult, their CalDav and CardDAV export features turned out to be a little buggy too, but in their defence those specs have a lot of ambiguity.
Posted Jan 8, 2016 14:22 UTC (Fri)
by mstone_ (subscriber, #66309)
[Link]
Posted Jan 8, 2016 17:54 UTC (Fri)
by jospoortvliet (guest, #33164)
[Link] (1 responses)
Also, CalDAV and CardDAV have been pulled into the core and should, with that, make a huge step forward in terms of reliability.
Have another look in half a year or so, I don't think you'll be disappointed.
Posted Jan 12, 2016 18:29 UTC (Tue)
by jospoortvliet (guest, #33164)
[Link]
Posted Jan 12, 2016 18:18 UTC (Tue)
by jospoortvliet (guest, #33164)
[Link]
Posted Jan 14, 2016 13:53 UTC (Thu)
by pboddie (guest, #50784)
[Link]
And from my experiences with another fairly visible project, the Open Build System just seems to be another way that the SuSE brigade gets to tick all the distribution boxes by putting out poor quality packages for all the other distributions. My impression is that OBS is advocated by people who don't fully appreciate all the necessary aspects of distribution packaging, especially when those advocates insist on it being used as the basis of proper distribution packages.
It is certainly the case that distribution packagers have got things wrong in the past. For example, a few years ago now, some developers of a certain Web solution told me that there had been some odd practices in Debian to migrate content between versions of their software when there is actually a standard migration script for that purpose that the package maintainers had either overlooked or discounted needlessly. That isn't an encouraging sign when you are relying on the distribution to do the right thing, but maybe this was either misreported or I misunderstood.
But there is tremendous benefit in having distribution packages for things that you need to run but don't have the time to become immersed in, where it would be beneficial to rely on others' expertise. I've deployed MediaWiki on Red Hat Enterprise Linux before - not my choice, but mandated by my boss at the time - but there's just no way I'd want to familiarise myself personally with every aspect of PHP deployment just to be able to do this, especially alongside having to do real work.
People just want things to work, rather than having to become experts in everything, particularly when everything involves every half-baked "off onto the Internet to download stuff" language- and application-specific packaging system known to man, woman and animal. And adding random package sources with "up today, down tomorrow" characteristics and vague repository key availability, just because that's where some company serves "the fresh stuff", isn't the answer, either.
Posted Jan 15, 2016 15:19 UTC (Fri)
by oldtomas (guest, #72579)
[Link]
I really appreciate the fact that there's some specialist looking at the rest of those and putting lots of work towards making sure that they Just Work (in the context of the distro). When I feel specially about one package, I'll get that from upstream and do whatever magic it needs to get it running -- but I like to choose myself which package is important to me and which not.
So thanks, distros! (and very especially: thanks Debian!)
Another thing: this discussion has made my decision about ownCloud: I'll stay clear of it.
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
You see a big network with many machines, which all should be updated reliably, and which probably all run the same distribution.
The developing company sees many users with many different distributions and different packaging formats, each with their own packager. So either they have to create a package in each format (that's a hard task), or rely on all the packagers, and on all the distribution update schedules, also not very pleasant.
ownCloud and distribution packaging
Debian users value reliability and security, ownCloud (and other software packages) developers value frequent updates and direct final user interaction.
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
* the way distributions work doesn't mesh well with what most of our users want and need or with what we consider best for our users
* I think that that isn't exclusive to ownCloud, other projects suffer from it and thus don't recommend distribution packages (from Wordpress to Drupal etc) and it is also visible in the growing popularity of alternative ways of handling deployment and management (various containers).
* I think that's bad and the distributions should have a look at what they could do to ease deployment and management so they don't become 'the thing you run a container on'.
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
Sadly, I'm not a PHP developer, so can't check their code myself. Therefore I'm forced to not trust their project by default, despite its noble intentions.
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
ownCloud and distribution packaging
Distribution packaging and package version interdependencies
Distribution packaging and package version interdependencies
Distribution packaging and package version interdependencies
Distribution packaging and package version interdependencies
ownCloud and distribution packaging
I've been qutie disappointed in OwnCloud's official packages.
I've been qutie disappointed in OwnCloud's official packages.
I've been qutie disappointed in OwnCloud's official packages.
I've been qutie disappointed in OwnCloud's official packages.
ownCloud and distribution packaging
"having suggested GitHub and the Open Build System"
Thanks, very enlightening