LWN: Comments on "Fedora opens up to bundling" https://lwn.net/Articles/660429/ This is a special feed containing comments posted to the individual LWN article titled "Fedora opens up to bundling". en-us Tue, 21 Oct 2025 10:54:38 +0000 Tue, 21 Oct 2025 10:54:38 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Fedora opens up to bundling https://lwn.net/Articles/662126/ https://lwn.net/Articles/662126/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt; But you need _operating system_ updates in order to punch these new holes in the sandbox, not software vendor actions. </font><br> Yes. But currently application vendors are not just at the mercy of the OS, but at the mercy of many packagers! It's even worse - what if your app depends on a feature of a package with asshole maintainer?<br> <p> <font class="QuotedText">&gt; And these introduce even more headaches, because punching new holes may break old software (or even new software, if we look into selinux). </font><br> Quite unlikely. New APIs rarely affect the old APIs.<br> <p> <font class="QuotedText">&gt; And in practice this is a much more common scenario than a malicious presentation reading your browser story -- see long tradition of Office viruses. After all, you've already compromised the office suite, so there's 0% additional effort in doing that, while there's sure to be some platform and browser-dependent code in reading browser history.</font><br> Viruses these days exist to actually earn money for their developers. Botnetting and browser history (including CC information) are the easiest target, while documents are almost always useless.<br> <p> <font class="QuotedText">&gt; I still believe in that a smaller programs model is much better for security, and that the App Store model clearly goes against smaller programs; if only because it becomes much harder to share data between programs.</font><br> So basically you're saying: "I believe in magic and unicorns". No packaging system can make a complicated office suite a "small" program. It might remove a bunch of peripheral dependencies, but nothing else.<br> <p> So let's actually think about the threat model. Suppose I want to steal users' credit card information. <br> 1) If I have an exploit for a widely used library like zlib or libpng then I probably wouldn't want to bother exploiting LibreOffice, never mind trying to exploit a sandboxed LibreOffice.<br> <p> 2) I have an exploit for LibreOffice itself. With a naïve distro model I simply need to hack LibreOffice and I instantly get access to browser's history with all the juicy CC info. With the sandboxed code I have to try and infect other documents, hoping that a user eventually opens a document with CC info.<br> <p> So it appears that distro model provides no advantage here. Now, there might be a question of update speed. A distro might be able to update a shared library faster than a vendor can go through a full formal QA process. And that actually might be a disadvantage.<br> </div> Tue, 27 Oct 2015 08:02:45 +0000 Fedora opens up to bundling https://lwn.net/Articles/662119/ https://lwn.net/Articles/662119/ javispedro <div class="FormattedComment"> <font class="QuotedText">&gt; And that's fine. Vendors release new versions of applications all the time.</font><br> <p> But you need _operating system_ updates in order to punch these new holes in the sandbox, not software vendor actions. And these introduce even more headaches, because punching new holes may break old software (or even new software, if we look into selinux). Unless you're thinking final software developers will ship the list of sandbox holes they need, but while this is a very interesting approach for a user trusted catalog of software (e.g. distro repository) it does not seem valid for a general "app store" model.<br> <p> Remember that I'm saying the Apple sandbox model does not even provide half of the holes required for even a mere office suite to work well. The only such program that I currently known working under the sandbox is NeoOffice, and they do trickery such as showing up an OSX open dialog pointing at the file it wants to read every time it wants to read some random file. They also disable all extensions and is generally a pain to use. And this is most probably an example of a program that in theory seems easy to sandbox.<br> <p> <font class="QuotedText">&gt; Nope, it _might_ be able to infiltrate documents as you open them. It won't be able to read browser history or install spyware.</font><br> <p> Sorry but we're going circles about this:<br> <font class="QuotedText">&gt;&gt; But sandboxing as it is done now usually involves making programs larger (e.g. Libreoffice-like huge suites instead of collections of individual programs cooperating, like in TeX), and this means that one single bug in the almost never used code that imports .mp4 fart sounds to use in Libreoffice presentations would also be enough to access ALL your sikret files.</font><br> <p> And in practice this is a much more common scenario than a malicious presentation reading your browser story -- see long tradition of Office viruses. After all, you've already compromised the office suite, so there's 0% additional effort in doing that, while there's sure to be some platform and browser-dependent code in reading browser history.<br> <p> I still believe in that a smaller programs model is much better for security, and that the App Store model clearly goes against smaller programs; if only because it becomes much harder to share data between programs.<br> <p> <font class="QuotedText">&gt; Linux-style dependency management clearly doesn't work well. </font><br> Note that sandboxing is independent of dependency management. <br> <p> </div> Tue, 27 Oct 2015 07:20:32 +0000 Fedora opens up to bundling https://lwn.net/Articles/662117/ https://lwn.net/Articles/662117/ javispedro <div class="FormattedComment"> <font class="QuotedText">&gt; You can certainly switch back to 32-bit mode and use vm86</font><br> <p> So why you keep saying you can't if it turns out you can? It was even documented on the original AMD64 manual albeit they did certainly mention it was tricky. <br> <p> I've been always curious about this, since I've been doing exactly that for at least a decade, it's a ~4k patch in 3.x, performance is still better than qemu or vt-x, and I guess no one wants to talk about the security/races of vm86 in general.<br> </div> Tue, 27 Oct 2015 06:41:02 +0000 Fedora opens up to bundling https://lwn.net/Articles/662111/ https://lwn.net/Articles/662111/ mathstuf <div class="FormattedComment"> Oh man, I can't wait for there to be one for Mill :D .<br> </div> Tue, 27 Oct 2015 03:08:58 +0000 Fedora opens up to bundling https://lwn.net/Articles/662110/ https://lwn.net/Articles/662110/ mjg59 <div class="FormattedComment"> That… is horrifying.<br> </div> Tue, 27 Oct 2015 02:33:07 +0000 Fedora opens up to bundling https://lwn.net/Articles/662109/ https://lwn.net/Articles/662109/ deater <div class="FormattedComment"> You can certainly run 16-bit x86 *code* in 64-bit mode although the stealing of opcodes for REX prefixes as well as various Linux security features certainly make it difficult. See <a href="https://github.com/deater/ll_asm/blob/master/linux16/16.s">https://github.com/deater/ll_asm/blob/master/linux16/16.s</a> for one example.<br> <p> Whether you can run unmodified code written for x86 real mode operating systems is a different story.<br> <p> I know this is a bit of a nitpick, but there's a lot of confusion out there about this.<br> </div> Tue, 27 Oct 2015 02:27:15 +0000 Fedora opens up to bundling https://lwn.net/Articles/662092/ https://lwn.net/Articles/662092/ mjg59 <div class="FormattedComment"> <font class="QuotedText">&gt; actually that's wrong</font><br> <p> No it's not. 64-bit mode has no support for vm86 mode, and so you can't run 16-bit code. You can certainly switch back to 32-bit mode and use vm86, which is presumably what the patch you're talking about does - but that's a pretty awful hack.<br> </div> Mon, 26 Oct 2015 21:00:12 +0000 Fedora opens up to bundling https://lwn.net/Articles/662091/ https://lwn.net/Articles/662091/ javispedro <div class="FormattedComment"> <font class="QuotedText">&gt; But it's hard to blame MS about this one - there's no 16-bit support in 64-bit mode.</font><br> <p> Nitpick: actually that's wrong. 64-bit processors certainly support 16-bit mode, otherwise they wouldn't be proper supersets of 32-bit processors. MS not supporting 16-bit is just a cost-benefit trade-off. In fact, for similar reasons Linux does not support vm86 on amd64, but there's a patch floating around for it, and it works quite well.<br> </div> Mon, 26 Oct 2015 20:53:54 +0000 Fedora opens up to bundling https://lwn.net/Articles/662086/ https://lwn.net/Articles/662086/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt; To sum it up: not only there's a huge amount of holes that need to be punched, but you need to keep punching brand new holes "all the time".</font><br> And that's fine. Vendors release new versions of applications all the time.<br> <p> <font class="QuotedText">&gt; Why not? As long as there's _any_ saved state (call it normal.dot, call it "shared config" -- what's the difference?) between invocations, then every future document you open with that program is compromised.</font><br> You assume that you can infiltrate through configuration. It's much less likely, especially if good config framework is used.<br> <p> <font class="QuotedText">&gt; Point is, even with OS X style sandboxing, a single "dancing cows" document will also be able to send all your company finances to Nigeria. </font><br> Nope, it _might_ be able to infiltrate documents as you open them. It won't be able to read browser history or install spyware.<br> <p> Also, AppStore model allows vendors to quickly make and QA a patch for a security issue. With distros you have to go through maintainers and slow release process. Then you have to do QA for multiple distro versions.<br> <p> It's pretty clear which security model is more advantageous.<br> <p> <font class="QuotedText">&gt; Not only that, but OS X style sandboxing is so problematic to implement, it might very well be not worth the effort, save perhaps for platform that are already usability limited from the start. </font><br> So what's your proposal? Linux-style dependency management clearly doesn't work well.<br> </div> Mon, 26 Oct 2015 20:16:58 +0000 Fedora opens up to bundling https://lwn.net/Articles/662085/ https://lwn.net/Articles/662085/ javispedro <div class="FormattedComment"> <font class="QuotedText">&gt; Operating systems are not set in stone. If there's a demand then new integration points are likely to be added. That is happening all the time both with iOS and Android.</font><br> To sum it up: not only there's a huge amount of holes that need to be punched, but you need to keep punching brand new holes "all the time".<br> <p> <font class="QuotedText">&gt; I think a billion smartphone users might disagree with you. And can you point me to an MS article about failing AppStore models?</font><br> <p> <font class="QuotedText">&gt;&gt; There's a reason unsandboxed new programs appear daily even on platforms where the default is to be sandboxed (such as Windows or OS X). Any current platform that only allows for sandboxed binaries (WinRT, iPad *cough*) falls straight into the "it's completely useless for any serious work" territory.</font><br> <font class="QuotedText">&gt;&gt; And please don't use the "people do real work on an iPad" argument. By now even MS marketing guys have realized how stupid it is: they actually promote the completely unsandboxed environment called Win32 as their distinguishing feature over the plethora of tablets.</font><br> <p> <font class="QuotedText">&gt; You can't do it. It's an obvious vector and so Apple's own processor tools have a special sandbox mode for it. It allows you to open and write the shared config, but nothing else.</font><br> Why not? As long as there's _any_ saved state (call it normal.dot, call it "shared config" -- what's the difference?) between invocations, then every future document you open with that program is compromised.<br> <p> <font class="QuotedText">&gt; Please, explain how this is worse than the quagmire we have in Linux right now when a "dancing cows" LibreOffice document can send all your credit card info to Nigeria.</font><br> Point is, even with OS X style sandboxing, a single "dancing cows" document will also be able to send all your company finances to Nigeria. Not only that, but OS X style sandboxing is so problematic to implement, it might very well be not worth the effort, save perhaps for platform that are already usability limited from the start. <br> </div> Mon, 26 Oct 2015 19:55:30 +0000 Fedora opens up to bundling https://lwn.net/Articles/662066/ https://lwn.net/Articles/662066/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt; That's a _huge_ thing to say. How do you even know 6 months by now there won't be a usecase that needs direct access from your word processor to your phone? </font><br> <font class="QuotedText">&gt; Hell, I'm sure _I_ wouldn't bet against it!</font><br> Operating systems are not set in stone. If there's a demand then new integration points are likely to be added. That is happening all the time both with iOS and Android.<br> <p> <font class="QuotedText">&gt; NO! You're affirming the consequent here. I'm precisely arguing that it does NOT work! And I even explicitly mentioned above how even MS has come to realize this.</font><br> I think a billion smartphone users might disagree with you. And can you point me to an MS article about failing AppStore models?<br> <p> <font class="QuotedText">&gt; So I'll just infect the equivalent of normal.dot and reload myself on startup everytime. _A single bug on that binary compromises every further file saved by that binary_. Unless you want to prevent saving any state at all?</font><br> You can't do it. It's an obvious vector and so Apple's own processor tools have a special sandbox mode for it. It allows you to open and write the shared config, but nothing else.<br> <p> Please, explain how this is worse than the quagmire we have in Linux right now when a "dancing cows" LibreOffice document can send all your credit card info to Nigeria.<br> <p> <font class="QuotedText">&gt; Please turn your brain on a bit before replying, as you've been told above. </font><br> Should I repeat my advice?<br> </div> Mon, 26 Oct 2015 17:29:19 +0000 Fedora opens up to bundling https://lwn.net/Articles/662016/ https://lwn.net/Articles/662016/ javispedro <div class="FormattedComment"> <font class="QuotedText">&gt; Not really. Most of the integration points for regular desktop use are known by now.</font><br> <p> That's a _huge_ thing to say. How do you even know 6 months by now there won't be a usecase that needs direct access from your word processor to your phone? <br> <p> Hell, I'm sure _I_ wouldn't bet against it!<br> <p> <font class="QuotedText">&gt; And so? App Store model works for most users. </font><br> <p> NO! You're affirming the consequent here. I'm precisely arguing that it does NOT work! And I even explicitly mentioned above how even MS has come to realize this.<br> <p> <font class="QuotedText">&gt; Sandboxing command-line utilities is also possible</font><br> And precisely from a decade of SELinux experiences I know how stupid most sandboxing is, and how hard it is to actually make it usable. <br> <p> <font class="QuotedText">&gt; No, that's incorrect. Mac OS does not allow programs to store authorizations forever.</font><br> <p> So I'll just infect the equivalent of normal.dot and reload myself on startup everytime. _A single bug on that binary compromises every further file saved by that binary_. Unless you want to prevent saving any state at all?<br> <p> <font class="QuotedText">&gt; Please, educate yourself about the state of the art, at least.</font><br> <p> Please turn your brain on a bit before replying, as you've been told above. <br> </div> Mon, 26 Oct 2015 15:53:53 +0000 Fedora opens up to bundling https://lwn.net/Articles/662002/ https://lwn.net/Articles/662002/ Cyberax <div class="FormattedComment"> Yup.<br> <p> To be fair, in Mac OS X command line utilities invoked through exec() from sandboxed apps do have read-only access to Unix system directories, but they don't have access to users' directories.<br> </div> Mon, 26 Oct 2015 05:57:10 +0000 Fedora opens up to bundling https://lwn.net/Articles/661985/ https://lwn.net/Articles/661985/ mp <div class="FormattedComment"> <font class="QuotedText">&gt; Sandboxing command-line utilities is also possible - through SELinux or similar approaches.</font><br> <p> Through complex LSMs that NOBODY understands? Oh well.<br> </div> Sun, 25 Oct 2015 14:22:47 +0000 Fedora opens up to bundling https://lwn.net/Articles/661919/ https://lwn.net/Articles/661919/ HelloWorld <div class="FormattedComment"> <font class="QuotedText">&gt; C and Python suck because you don't have private dependencies, they say!</font><br> And they're completely right. When I depend on a library x I shouldn't need to care what libraries x depends on, as long as they're not somehow exposed through x's API.<br> </div> Fri, 23 Oct 2015 22:11:16 +0000 Fedora opens up to bundling https://lwn.net/Articles/661834/ https://lwn.net/Articles/661834/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt; i.e. punch specific holes in the sandbox. Hard to do when there are gazillions of possible usecases, and most of them we don't even envision today.</font><br> Not really. Most of the integration points for regular desktop use are known by now. Anything more advanced will require special-level access, but even developer desktops these days are pretty much vanilla. <br> <p> <font class="QuotedText">&gt; Because "command line apps are special", and because you break many of the common approaches which programs use to share data, you are encouraging developers to create "all-in-one" suites instead of collections of small programs (the so misnamed "unix way") and bigger shared libraries.</font><br> And so? App Store model works for most users. Sandboxing command-line utilities is also possible - through SELinux or similar approaches.<br> <p> <font class="QuotedText">&gt; Yeah... as well as any future file you open with that program, which for many users includes _ALL_ of the user's most important files</font><br> No, that's incorrect. Mac OS does not allow programs to store authorizations forever.<br> <p> Please, educate yourself about the state of the art, at least.<br> </div> Thu, 22 Oct 2015 22:52:17 +0000 guile and unicode https://lwn.net/Articles/661825/ https://lwn.net/Articles/661825/ wingo <div class="FormattedComment"> This is a bit far afield of the original article, but you persist in a misunderstanding about a project that I maintain :) To Guile 1.x, a character is a byte. To Guile 2.x, a character is a unicode codepoint: not a grapheme.<br> <p> So when Guile reads a byte sequence which according to the given locale it decodes as U+0065 LATIN SMALL LETTER E followed by U+0301 COMBINING ACUTE ACCENT, those are the code points it stores internally. It does not normalize the codepoint sequence, although there are the string-normalize-nfc, string-normalize-nfd, string-normalize-nfkc, and string-normalize-nfkd procedures if the application chooses to do so, for whatever reason.<br> </div> Thu, 22 Oct 2015 20:18:30 +0000 Fedora opens up to bundling https://lwn.net/Articles/661799/ https://lwn.net/Articles/661799/ Wol <div class="FormattedComment"> Notably, installers that DON'T work, appear to be MS's own :-)<br> <p> Cheers,<br> Wol<br> </div> Thu, 22 Oct 2015 17:58:00 +0000 guile and unicode https://lwn.net/Articles/661798/ https://lwn.net/Articles/661798/ Wol <div class="FormattedComment"> <font class="QuotedText">&gt; There is no such thing as a deprecated codepoint.</font><br> <p> aiui, there is a unicode character for a-acute. There is also the sequence &lt;compose&gt;&lt;acute&gt;&lt;a&gt;. What are you going to do when one string uses one encoding, and another string uses the other? Apparently, the Unicode spec now says you are supposed to use the &lt;compose&gt; sequence, which Guile v2 implements.<br> <p> Hence lilypond blowing up when what it thinks is a string COPY, is turned by v2 into a string TRANSLATION :-( Please note, that BOTH the input AND the output in this case are not some random encoding, but are quite explicitly Unicode character strings.<br> <p> Cheers,<br> Wol<br> </div> Thu, 22 Oct 2015 17:53:08 +0000 Fedora opens up to bundling https://lwn.net/Articles/661768/ https://lwn.net/Articles/661768/ javispedro <div class="FormattedComment"> <font class="QuotedText">&gt; Otherwise, a user must grant your application (somewhat mislabeled) "Accessibility" permissions.</font><br> <p> i.e. punch specific holes in the sandbox. Hard to do when there are gazillions of possible usecases, and most of them we don't even envision today.<br> <p> <font class="QuotedText">&gt; Command-line apps are somewhat special.</font><br> <p> And this I disagree with. Specially in the context of a distro's packaging, command-line apps are _the norm_.<br> <p> <font class="QuotedText">&gt; Uhm? What?</font><br> <p> Because "command line apps are special", and because you break many of the common approaches which programs use to share data, you are encouraging developers to create "all-in-one" suites instead of collections of small programs (the so misnamed "unix way") and bigger shared libraries.<br> <p> Otherwise, something as trivial as copying and pasting a plot from the spreadsheet program to the word processing program using anything more advanced (i.e. vector, linking, etc.) than a shared .png file becomes a nightmare.<br> <p> An example of this is iOS. <br> <p> <font class="QuotedText">&gt; Nope. It'll only get access to that presentation and perhaps some recent files.</font><br> <p> Yeah... as well as any future file you open with that program, which for many users includes _ALL_ of the user's most important files, esp. all of the text documents, the spreadsheets with financial data, presentations, drawings, the mailing list with all of your patients which you used once with your word processor, and the list of all words you've even written on any document so far (which obviously are only kept for "training purposes"), etc.<br> </div> Thu, 22 Oct 2015 15:15:34 +0000 Fedora opens up to bundling https://lwn.net/Articles/661760/ https://lwn.net/Articles/661760/ Cyberax <div class="FormattedComment"> Windows autodetects some of the typical 16-bit installers (like InstallShield and others) and transparently emulates them. <br> <p> But it's hard to blame MS about this one - there's no 16-bit support in 64-bit mode. They could have used a CPU emulator, but at this point it just makes sense to drop 20-year-old compatibility.<br> </div> Thu, 22 Oct 2015 14:35:17 +0000 Fedora opens up to bundling https://lwn.net/Articles/661759/ https://lwn.net/Articles/661759/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt; "One bug" == "pwned", and who knows what damage is done :-( If it has LO's permissions, then it can access all of LO's files. (Which for most users, is pretty much everything.)</font><br> That's not true for sandboxed apps on Mac OS X. A document file with an embedded exploit will probably not be able to access even the recently opened documents. It definitely won't be able to modify the LO executable files or even _read_ other user's files.<br> <p> On Linux, a compromised document can slurp browser's history and secret storage and send it to nice folks in Nigeria.<br> <p> Now, which model do you trust more?<br> </div> Thu, 22 Oct 2015 14:32:29 +0000 guile and unicode https://lwn.net/Articles/661734/ https://lwn.net/Articles/661734/ wingo <div class="FormattedComment"> Not sure why Guile is getting the blame here, but to clear things up:<br> <p> Before Guile 2.0, Guile's strings were byte strings -- like in Python 2. Guile 2 changed so that strings were composed of characters. To Guile, a character is a unicode codepoint.<br> <p> When reading strings from a byte stream, as from an fd, those characters have an encoding, which is usually taken from your locale. In some encodings, like ISO-8859-1, all byte sequences are valid, so reading data in and writing it out will produce the same byte sequence. In others, like UTF-8, maybe Guile could read an invalid sequence. In that case it can error, or replace the character with "?", depending on what the application chose to do. Likewise when writing, it could be Guile tries to write a codepoint that can't be expressed in the desired encoding; at which point it can error or write a ?. The application decides what strategy to take.<br> <p> There is no such thing as a deprecated codepoint.<br> </div> Thu, 22 Oct 2015 13:26:06 +0000 Fedora opens up to bundling https://lwn.net/Articles/661709/ https://lwn.net/Articles/661709/ Wol <div class="FormattedComment"> <font class="QuotedText">&gt; &gt; There are windows apps that worked on 7 and don't work on 10, windows isn't perfectly backwards compatible either (and the difference between RHEL4 and RHEL7 isn't Windows7 vs Windows10, it's more like XP/Vista -&gt; Windows10</font><br> <p> <font class="QuotedText">&gt; All of my 32-bit XP apps still work on Win10 64-bit. Microsoft does an amazing job to make sure that old apps are not broken with each OS release. Their quality slipped a bit recently, though.</font><br> <p> Many older apps may have been 32-bit, but their installers were 16-bit. So it's no f***ing use that they work, if you can't install the things!!!<br> <p> Cheers,<br> Wol<br> </div> Thu, 22 Oct 2015 10:02:51 +0000 Fedora opens up to bundling https://lwn.net/Articles/661707/ https://lwn.net/Articles/661707/ Wol <div class="FormattedComment"> <font class="QuotedText">&gt; &gt; (e.g. Libreoffice-like huge suites instead of collections of individual programs cooperating, like in TeX), and this means that one single bug in the almost never used code that imports .mp4 fart sounds to use in Libreoffice presentations would also be enough to access ALL your sikret files.</font><br> <p> <font class="QuotedText">&gt; Nope. It'll only get access to that presentation and perhaps some recent files.</font><br> <p> Cyberax, sometimes you need to "engage brain before opening mouth".<br> <p> "One bug" == "pwned", and who knows what damage is done :-( If it has LO's permissions, then it can access all of LO's files. (Which for most users, is pretty much everything.)<br> <p> (Incidentally, LO is not a monolithic blob. Although I'll admit it often feels like it ...)<br> <p> Cheers,<br> Wol<br> </div> Thu, 22 Oct 2015 09:54:22 +0000 Fedora opens up to bundling https://lwn.net/Articles/661706/ https://lwn.net/Articles/661706/ Wol <div class="FormattedComment"> <font class="QuotedText">&gt; In my opinion, the mistake was to standardize on what was already shipped, instead of specifying what should be shipped.</font><br> <p> <font class="QuotedText">&gt; Basically catering to the wishes of the distributors instead of the needs of the developers.</font><br> <p> Sort of yes ...<br> <p> They shouldn't have standardised on what was shipped, they should have standardised a way of describing what was required...<br> <p> I tried to get them to do that - the example I give is I wanted to create an LSB virtual package that would pull in the components required by WordPerfect. That approach would have been great - an app developer just specifies the pre-requisites and leaves it to the distro to ensure they are met.<br> <p> What's the point of describing what's there, if there's no way of prescribing what's needed?<br> <p> Cheers,<br> Wol<br> </div> Thu, 22 Oct 2015 09:39:02 +0000 Fedora opens up to bundling https://lwn.net/Articles/661705/ https://lwn.net/Articles/661705/ Wol <div class="FormattedComment"> And then there's Unicode ... :-)<br> <p> I use lilypond. Which is still stuck on Guile v1.<br> <p> "cat input | guile &gt; output"<br> <p> Assuming all guile does is read from stdin and copy to stdout, unfortunately Guile v2 breaks the expectation that "input == output", and this breaks lilypond :-( In very subtle and hard-to-fix ways :-(<br> <p> So this is another, pretty classic, example of a program with bundled dependencies because mainstream (no longer) provides features on which it relies.<br> <p> For info, as I understand it, Guile v2 converts deprecated code points on the fly to up-to-date ones. All composite characters (eg a-umlaut, e-acute etc) are now deprecated and should be &lt;compose&gt;&lt;accent&gt;&lt;letter&gt; or whatever the correct version is. Lilypond assumes that a character offset in the input will point to the same character in the output, and of course if any of these conversions has happened, it breaks that assumption :-(<br> <p> Cheers,<br> Wol<br> </div> Thu, 22 Oct 2015 09:34:22 +0000 Fedora opens up to bundling https://lwn.net/Articles/661608/ https://lwn.net/Articles/661608/ pizza <div class="FormattedComment"> ...except for applications that take libraries, mangle them in incompatible ways, and bundle the results. (Chrome/chromium was the most infamous example of this, though I understand they have considerably cleaned up their act in recent years)<br> <p> <p> </div> Wed, 21 Oct 2015 17:43:55 +0000 Fedora opens up to bundling https://lwn.net/Articles/661581/ https://lwn.net/Articles/661581/ rwmj <div class="FormattedComment"> ... is the correct answer. The problem isn't just applications, it's libraries not offering long term stable API guarantees. This is sloppy, lazy programming.<br> </div> Wed, 21 Oct 2015 16:12:47 +0000 Fedora opens up to bundling https://lwn.net/Articles/661496/ https://lwn.net/Articles/661496/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt; That doesn't even start to cover all the holes that should be poked. </font><br> It covers most.<br> <p> <font class="QuotedText">&gt; What if you want to share a spell checker whitelist between Abiword and Libreoffice? What if you just installed the Zotero plugin and want to run it in both Abiword, Libreoffice, and Firefox, preferably with the same bibliography? Hidden file dependencies? etc.</font><br> If your spellchecker is specific to AbiWord and Libreoffice - you can explicitly whitelist it in each application. Otherwise, a user must grant your application (somewhat mislabeled) "Accessibility" permissions.<br> <p> <font class="QuotedText">&gt; Even for compiling a single .c file the amount of required holes is mind-boggling. Or running a trivial NumPy number-crunching script. Or creating a basic plot with R. Or ...</font><br> Command-line apps are somewhat special. They can be sandboxed, but nobody really cares about them.<br> <p> <font class="QuotedText">&gt; But sandboxing as it is done now usually involves making programs larger</font><br> Uhm? What?<br> <p> <font class="QuotedText">&gt; (e.g. Libreoffice-like huge suites instead of collections of individual programs cooperating, like in TeX), and this means that one single bug in the almost never used code that imports .mp4 fart sounds to use in Libreoffice presentations would also be enough to access ALL your sikret files.</font><br> Nope. It'll only get access to that presentation and perhaps some recent files.<br> </div> Tue, 20 Oct 2015 23:29:22 +0000 Fedora opens up to bundling https://lwn.net/Articles/661495/ https://lwn.net/Articles/661495/ Cyberax <div class="FormattedComment"> I'm afraid it's per _application_. Newer applications use manifests (either embedded or standalone) which redirect DLLs to side-by-side directories. Microsoft also does some magic tricks - it uses a bunch of heuristics to detect that a legacy installer is running and redirects its libraries away from System32.<br> <p> Yeah, it's extra-ugly but works.<br> </div> Tue, 20 Oct 2015 23:24:10 +0000 Fedora opens up to bundling https://lwn.net/Articles/661488/ https://lwn.net/Articles/661488/ javispedro <div class="FormattedComment"> Not each legacy application, just every user sees a different copy of it. I.e. it's like a unionfs where writes (which would otherwise be blocked by perms) go to the per-user overlay. (In addition to the 32/64 duality)<br> <p> In Windows it would be completely impossible to do any sensible "per-application" thing. How do you even determine which executables are part of each application? <br> <p> </div> Tue, 20 Oct 2015 22:21:11 +0000 Fedora opens up to bundling https://lwn.net/Articles/661482/ https://lwn.net/Articles/661482/ javispedro <div class="FormattedComment"> <font class="QuotedText">&gt; Apple does this just fine with their sandboxing for AppStore applications. Basically, "Open File" action allows an application to access user-specified files.</font><br> <p> That doesn't even start to cover all the holes that should be poked. What if you want to share a spell checker whitelist between Abiword and Libreoffice? What if you just installed the Zotero plugin and want to run it in both Abiword, Libreoffice, and Firefox, preferably with the same bibliography? Hidden file dependencies? etc.<br> <p> Even for compiling a single .c file the amount of required holes is mind-boggling. Or running a trivial NumPy number-crunching script. Or creating a basic plot with R. Or ...<br> <p> There's a reason unsandboxed new programs appear daily even on platforms where the default is to be sandboxed (such as Windows or OS X). Any current platform that only allows for sandboxed binaries (WinRT, iPad *cough*) falls straight into the "it's completely useless for any serious work" territory.<br> <p> And please don't use the "people do real work on an iPad" argument. By now even MS marketing guys have realized how stupid it is: they actually promote the completely unsandboxed environment called Win32 as their distinguishing feature over the plethora of tablets.<br> <p> <font class="QuotedText">&gt; This is a far better approach than playing whack-a-mole with bugs where one single bug in an "Exploding Kittens" game might be enough to get access to ALL your files.</font><br> <p> But sandboxing as it is done now usually involves making programs larger (e.g. Libreoffice-like huge suites instead of collections of individual programs cooperating, like in TeX), and this means that one single bug in the almost never used code that imports .mp4 fart sounds to use in Libreoffice presentations would also be enough to access ALL your sikret files.<br> <p> Being an idealist, I still think that a system that doesn't encourage huge monster applications (and thus keeps bug numbers at manageable levels) is a much better approach.<br> </div> Tue, 20 Oct 2015 22:15:30 +0000 Fedora opens up to bundling https://lwn.net/Articles/661447/ https://lwn.net/Articles/661447/ rahulsundaram <div class="FormattedComment"> Sure but this is an ongoing conversation if anyone has followed along with the discussions and likely would involve tweaking the language in the policy. I wouldn't read any of the current policy as conclusive. <br> </div> Tue, 20 Oct 2015 16:46:57 +0000 Fedora opens up to bundling https://lwn.net/Articles/661446/ https://lwn.net/Articles/661446/ lsl <div class="FormattedComment"> Sure, but those Javascript guidelines were written before the "we need bundling" decision was made. Note that almost no upstream "allowed" the Javascript unbundling that was done (or planned) for Fedora packages.<br> </div> Tue, 20 Oct 2015 16:40:48 +0000 Fedora opens up to bundling https://lwn.net/Articles/661443/ https://lwn.net/Articles/661443/ rahulsundaram <div class="FormattedComment"> No idea what you mean by the Fedora way? The guidelines limit it considerably<br> <p> <a href="https://fedoraproject.org/wiki/Packaging:JavaScript#Static_Inclusion_of_Libraries">https://fedoraproject.org/wiki/Packaging:JavaScript#Stati...</a><br> <p> <p> </div> Tue, 20 Oct 2015 16:16:48 +0000 Fedora opens up to bundling https://lwn.net/Articles/661426/ https://lwn.net/Articles/661426/ pabs <div class="FormattedComment"> JavaScript libraries are absolutely the worst thing to be bundling, do not do that. We are not going the Fedora way in Debian.<br> </div> Tue, 20 Oct 2015 15:47:12 +0000 Fedora opens up to bundling https://lwn.net/Articles/661397/ https://lwn.net/Articles/661397/ ploxiln <div class="FormattedComment"> It gets worse.<br> <p> Pip, the standard python package installer nowadays, bundles ("vendors") its dependencies. Ubuntu 14.04 unbundled them for its pip package, and if you install a version of the popular "requests" module from just a few months after ubuntu 14.04 was released (into the site-packages dir where it won't conflict with the dist-packages dir for ubuntu-packaged modules), it breaks the packaged pip.<br> <p> Most nodejs applications use dependencies that bundle their dependencies. So overall they end up bundling multiple different versions of the same libraries! Then often end up with literally over a thousand bundled libraries, which are various versions of somewhere under 100 different libraries, which provide maybe 20 different sets of functionality. And they think this is the greatest thing ever! C and Python suck because you don't have private dependencies, they say!<br> <p> So as "common" developers and "popular" libraries get accustomed to this sort of thing, respect for backwards compatibility and security maintenance goes out the window. (Even as they tout their "semver" versioning.) It really is ridiculous. But it's also just the definition of "common" and "popular" changing, as entirely new groups of developers come to exist at a magnitude larger than the previous groups.<br> </div> Tue, 20 Oct 2015 07:19:30 +0000 Fedora opens up to bundling https://lwn.net/Articles/661381/ https://lwn.net/Articles/661381/ roc <div class="FormattedComment"> I agree sending fixes upstream is generally a good thing to do. I have not said otherwise.<br> </div> Mon, 19 Oct 2015 23:14:42 +0000 Fedora opens up to bundling https://lwn.net/Articles/661311/ https://lwn.net/Articles/661311/ emptysquare <div class="FormattedComment"> Thanks for this engaging, educational article. I'm dealing with issues just like this in a Debian package I'm preparing -- I need to bundle *both* a stable copy of a javascript library *and* a tweaked copy of a C library -- and this helped me understand where the community is moving. A surprisingly brisk read on a pretty dry subject. =)<br> </div> Mon, 19 Oct 2015 13:36:39 +0000