Ubuntu testing Snappy for Desktop Next
plus.google.com
plus.google.com
1. https://developer.ubuntu.com/en/snappy/guides/packaging-form...
Ubuntu Desktop Next is Canonical's playground for testing new ideas. 15.10 Desktop Next will use Snappy for sure, and IIRC 16.04 will be an LTS that may use Snappy if 15.10 DN works out exceptionally well. Snappy's insufficiently mature yet, IMO, and the effort to convert packages without a Snappy target for some equivalent of `alien` seems a bit gargantuan.
Is that why you're posting this link? Does it have a more specific meaning in this context?
I'm just curious and wish you had posted at least a short explanation with the link.
I don't like feeling stupid fellow human.
- This isn't new, snappy has been announced for a while now.
- It's not primarily for desktop -- snappy was created for the needs of "cloud" operating systems; it just happens also to be useful on the desktop.
- It's not new: CoreOS and RedHat Atomic use the same principles and preceded snappy.
- It's not for desktop, it's for "desktop next", which is an Ubuntu test distribution that almost nobody has heard of.
It seems so much better to have a user space container system for packages and a separate DEFINED standard config area.
Basically I can see it being frustrating in the future with only being able to get a version of something through apt and then trying to not install dependencies that you have through another package manager.
That's an issue I sometimes have with homebrew and macports on macs plus python pip. Basically, some things you can only get through macports, some things only through homebrew and some things only through pip.
Then you have to reorder the imports to not fuck up compiling something for every single thing you are trying to compile from source. And it is extremely annoying because you actually have no idea which imports are causing the issues. Now add to that that different packages may require the dependencies to be compiled in a certain way and you are in a world of pain.
Atomic commits, rollbacks, and the big one, decoupling the OS from the applications. Developers can just publish their apps directly on their own schedule.
As a Debian user I do not see that as a feature, I see that as a risk.
One of the biggest reasons I use Debian is because package management is done the way it is, but a lot of people complain because the packages in Debian Stable are out of date. I think the disagreement here isn't on whether the software in Debian Stable is up to date, it's actually about what the definition of stable is. Many people prefer bleeding edge. For me, I prefer Debian's definition of stable, and I don't want the developers of the software being able to push it to my systems on a whim because on rare occasion developers have been known to use their users as their testers, and this is a risk I want to minimize.
Regarding your other points, could you expand a bit on decoupling the OS from the applications? Everything else sounds like it could be a feature request against apt, do you have a moment to file them? It sounds like you've got some good ideas.
Having maintained Debian, Fedora, and ArchLinux machines over the past few years, I've found ArchLinux has vastly improved in terms of stability recently while still maintaining close to bleeding edge releases. I don't see it get enough credit for this. This must be the result of having a high quality team of package maintainers who know how to push out new packages properly.
Fedora on the other hand also promises bleeding edge - but for years I found it broke far too often, and yum is certainly not helpful in those situations.
As a result I no longer see it as a "bleeding edge vs stable" dichotomy. You can have your cake and eat it too if you a) choose your software stack wisely and b) use a distro with a smart team behind it. Switching to the Debian boxes always feels like stepping back 2yrs in a time machine, which has a high cost for a person who likes to keep up with progress in software development.
I'm definitely tempted to give ArchLinux a try now though
(emphasis mine)
It still feels like we're disagreeing because we have a different idea of what stable software is, yours is keeping up with progress in software development and mine is using software that's been tried and tested by many others first. If I may suggest, you may enjoy the Unstable or Testing Debian distributions the next time you're giving it a go, if you can get past the admittedly off-putting names.
But further, are you suggesting that you can't keep up with progress in software development from a Debian Stable box? With apt-pinning, backports, and having the ability compile from source into .deb files, I have to disagree with you on this.
To me this seems like a problem for the maintainers of the Debian package for that application, and not for the developers of the application itself. Why should the libraries available in one of the many possible linux distros hold up what features the application developers implement?
Debian package maintainers are sometimes the application developers themselves, but this doesn't seem like it should be a problem for folks who just write software.
Debian Wheezy (oldstable) was released on 2013-05-04 and is still supported. Let's take a look at two utterly important libraries for desktop usage as reference:
gtk+2.0: upstream: 2.24.27, 2015-03-03 (release date) wheezy: 2.24.10, 2012-08-06 (build date)
qt4-x11: upstream: 4.8.6, 2014-04-24 (release date) wheezy: 4.8.2, 2013-02-05 (build date)
Both libraries haven't received a single update since the release of wheezy, gtk+2 is 10 bugfix releases behind upstream and nearly 3 years old. So no, Debian doesn't change version numbers at all (at least for most packages).
And honestly I don't get why. This kind of update policy where you even don't ship bugfix releases might have valid use in special cases (e.g. some embedded environments) but Debian wants to be the universal operating system.
http://metadata.ftp-master.debian.org/changelogs//main/g/gtk... http://metadata.ftp-master.debian.org/changelogs//main/q/qt4... https://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=e633... https://blog.qt.io/blog/2014/04/24/qt-4-8-6-released/
There are many desktop applications that I install from 3rd party ppas on ubuntu because they are too out of date in the distro or unavailable, and I think no developer uses the distribution version of languages (node, ruby, erlang, etc). There are package managers for them and you need them server side too. Then you get used to use the distribution ppa only for the core OS and stuff you don't care much about. I'm not sure that I want to dockerize the desktop, and how silly would that be for less or ls, but in a way 3rd party ppas and conservative distros paved the way for it.
I agree on the second point, but what is wrong with ppas?
Also there's nothing stopping me (or anyone) from doing bad things in a PPA, since the packaging system runs as root. In a snappy system apps are sandboxed.
Also, the fact that PPAs need to exist at all ... with snappy we can just have the latest user apps available in the default store without people having to add repositories by hand.
Malicious packages are still possible
Its still unsafe to run software from anyone you don't trust
Worrying about getting root is beside the point when almost everything valuable on your system is whats available to your user
A app store situation where alternate repos or ppa need not exist because everyone can just add packages to some huge store is a horrible horrible idea.
That G+ post doesn't really explain why, maybe this is coming in a later post?
Edit: To expand a bit, I wish that G+ post had gone into detail (or linked to somewhere that did) about why they felt apt was insufficient and why it had to be abandoned instead of fixed. Other HN users have linked to the Snappy page which contained more details, and have explained some of the problems they've found with apt, I just wish the main story made an effort to do the same.
Heck, just yesterday there was this story on HN where a distribution(Exherbo) introduced a whole new way of doing multiarch with some novel approaches (full disclosure I use the distribution): https://news.ycombinator.com/item?id=9508077
Do you really want to lose this process of continual improvement just by everyone using a single package manager, a single distro? Thinking through this a little more, the diversity in Linux is one of the greatest advantages over proprietary systems.
No defined config area
Shared libraries that by the very foundation of them being shared break when one is updated and than the developer has to quickly respond
The tie in to the OS. It should be if it is Linux it installs and works. Right now we have a BETTER system than 10 years ago but it is still broken.
Better syntax. Apt is the worst syntax ever to me. It isn't important but always makes me mad. apt-get update only refreshes the repos and apt-get upgrade updates and doesn't upgrade the OS or revert to making sure the owner of each package is the official repos. apt-cache search is annoying. it should be apt install apt seach apt refresh apt update.
I'm far from a distrohopper. I don't think they're all so different. But when considering the minute differences between linux distributions, I find that ubuntu generally has more disadvantages.
Examples please?
- PPA's are perhaps the most terrible way of providing more up to date packages than what is available in main repos. Typically they'll 404. You're also trusting some random person on the internet to maintain your system. I much prefer arch PKGBUILDs.
- You'll commonly find out of date packages. As a developer this is particularly frustrating. I don't want to just unpack an archive to my rootfs. I also don't want to wrestle debuild just to get a newer library. I understand that LTS support is important, but it really isn't that important.
- The whole amazon fiasco from a few years back ticks me off. Yeah, I know you could disable it. It's just that they did that by default in the first place.
- upstart sucks, and in spite of the fact that they're moving/moved, they hung on too long because they are stubborn.
Let me ask you this: What are the advantages of ubuntu over other linux/gnu distributions?
Googling for "how to install random linux software on Linux" will generally get either an Ubuntu package, or somewhat working instructions for getting it mostly going on Ubuntu.
On other Linux distributions (even major ones like CentOS/Redhat) you'll often be on your own.
Many times I can't even compile a package from source after trying for for an hour, but the author happens to have a .deb file around and everything works smoothly.
I have to say, its nice to be back. I am using the latest kernel from: http://kernel.ubuntu.com/~kernel-ppa/mainline/
I'm also running systemd - although Ubuntu did it right. I also get a working syslog and for the first time ever it isn't annoying me. I have been really impressed with the helpful hacker culture .. and yes I am still talking about Ubuntu.
Diff priorities, diff resources, blahblahblah. But come on -- there ARE quite a bit of man hours since 2001 in gnome, kde, X11, Mir, compviz, Maemo, etc. Enough that recognizing Apple started doing things right so long ago that a unified response to at least copy let alone improved would have yielded significant results at least by 2010.
</hate>
This quote in particular sounds like an app bundle:
Creating snappy Ubuntu apps is much easier than traditional packaging,
simply bundle all the files you need in a single package and publish, then
users can download it instantly. Snappy packages can be statically linked
and include their own copies of any file they need.Competition and innovation is interesting.
If you don't agree with their development, ignore it. There is no need to ridicule their decision like you did.
Have you ever noticed every project they have: Mir, Phone, Unity, Bazaar, Launchpad
Are all virally licensed, lack portability and drive people away in droves?
Ubuntu has the widest gap in users : developers, yet they're funded.
Now:
- So long Debian compatibility. That's the one principal thing Ubuntu had going for it.
- Exodus / dam-breaks: I see Mint moving to Debian, as well as many {K,L,X}ubuntu developers. "Enough".
- It's GPLv3. So there goes a lot of developers / potential for portability. Just like Mir. You can't write modules for GPLv3 software. Commercial vendors will be scared away from investing in it. What do you really gain by using such a restrictive license? Can you see it means we have to rewrite everything over again from scratch in a permissive one?
apt-get is great, so why change whats great?
https://wiki.debian.org/IntroDebianPackaging
http://www.debian.org/doc/manuals/maint-guide/index.en.html
Compare that to gentoo / archlinux / BSD ports.
If they actually simplified* their system and made it permissively licensed and POSIX portable, maybe people would bite.
But GPLv3 is just a way to make suckers develop for Canonical for free - at the end of the day - you have no rights over your own contributions and they have 100% ownership.
GPLv3 makes no such impact. Now, if they had a CLA (which Canonical's projects infamously often do), you could make that argument.
http://www.canonical.com/projects/directory The following projects are covered by Canonical’s contributor agreement. If you want to contribute to any of the projects below, please contact the project contacts listed in the third column.
Sanppy:: (sic), snappyThis is the text of the GPLv3: http://www.gnu.org/copyleft/gpl.html It doesn't contain anything of the sort.
From a brief read-through of the docs it looks like the namespace of applications is "owned" by Ubuntu which means it is difficult to add external sources. For example it is `snappy install vim` instead of `snappy install ubuntu.com/vim`
[1] https://developer.ubuntu.com/en/snappy/guides/packaging-form...
Cydia has some additional functionality compared to stock APT:
- Purchases - are basically handled as a separate layer; they're the only part of Cydia which is centralized, and are done through a web UI hosted by saurik. IIRC, once the package is purchased, Cydia's version of APT sends a device identifier header when requesting .debs, and repositories have to check with saurik's server to decide whether to return 403 or not. By itself this is pretty easy to crack, so many popular packages add their own DRM (yuck).
- In addition to the short textual descriptions, package metadata can contain a "depiction" header containing a URL which Cydia will display in a web view when the user navigates to the package. This is intended to (a) allow each repo to design their own UI and maintain independence, (b) provide richer package info more flexibly than a fixed description UI would allow, e.g. including videos, and (c) allow repos to display ads, which they need to survive as payments aren't handled through them.
(I originally had a somewhat long paragraph here on how utterly horrid a UX this is in practice, but it's not really on topic, so I'll leave it at that.)