* Move to a cadence release model? @ 2015-11-10 13:57 John Yates 2015-11-10 14:28 ` John Wiegley ` (4 more replies) 0 siblings, 5 replies; 126+ messages in thread From: John Yates @ 2015-11-10 13:57 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 750 bytes --] With a new master at the helm and various changes being contemplated I would like to see some discussion of moving to a cadence release model. I have been impressed with open source projects that have made the change. I am now employed at Mathworks which ships mission critical software to very large enterprise customers on a 6 month cadence. The biggest shift I see is away from wondering when the correct collection of features, bug fixes, whatever have been accumulated to whether those that have been accumulated are individually sufficiently cooked to ship. Developers feel less urge to squeeze a not fully baked feature into the current release when they can count on the next opportunity being only a cadence interval in the future. /john [-- Attachment #2: Type: text/html, Size: 848 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 13:57 Move to a cadence release model? John Yates @ 2015-11-10 14:28 ` John Wiegley 2015-11-10 16:42 ` Eli Zaretskii 2015-11-10 14:32 ` Move to a cadence release model? Alan Mackenzie ` (3 subsequent siblings) 4 siblings, 1 reply; 126+ messages in thread From: John Wiegley @ 2015-11-10 14:28 UTC (permalink / raw) To: John Yates; +Cc: Emacs developers >>>>> John Yates <john@yates-sheets.org> writes: > With a new master at the helm and various changes being contemplated I would > like to see some discussion of moving to a cadence release model. Hi John, I haven't worked under an Agile regime before; can you describe what you think this would look like for Emacs development in particular? I have used the "Git flow" model in the past to good ends. It too could have avoided the "long pause" between 24.5 and 25.1, and the necessity of periodically freezing master before a release. John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 14:28 ` John Wiegley @ 2015-11-10 16:42 ` Eli Zaretskii 2015-11-10 17:03 ` John Wiegley 0 siblings, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-10 16:42 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel, john > From: John Wiegley <jwiegley@gmail.com> > Date: Tue, 10 Nov 2015 06:28:01 -0800 > Cc: Emacs developers <emacs-devel@gnu.org> > > I have used the "Git flow" model in the past to good ends. It too could have > avoided the "long pause" between 24.5 and 25.1, and the necessity of > periodically freezing master before a release. We could avoid the feature freeze altogether, if we wanted, and instead cut the release branch and work on the release there without freezing master. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 16:42 ` Eli Zaretskii @ 2015-11-10 17:03 ` John Wiegley 2015-11-11 0:17 ` Release process (was Re: Move to a cadence release model?) Stephen Leake 0 siblings, 1 reply; 126+ messages in thread From: John Wiegley @ 2015-11-10 17:03 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, john >>>>> Eli Zaretskii <eliz@gnu.org> writes: > We could avoid the feature freeze altogether, if we wanted, and instead cut > the release branch and work on the release there without freezing master. That would be my preference. Let's cut release-25.1 this upcoming Friday night at the freeze date. It does mean a commitment by developers to use and test with this branch until the release is out. But it allows development on 'master' to continue without any artificial pause, or forcing everything that could have gone onto master into feature branches. John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Release process (was Re: Move to a cadence release model?) 2015-11-10 17:03 ` John Wiegley @ 2015-11-11 0:17 ` Stephen Leake 2015-11-11 0:24 ` John Wiegley 2015-11-11 3:45 ` Eli Zaretskii 0 siblings, 2 replies; 126+ messages in thread From: Stephen Leake @ 2015-11-11 0:17 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, john John Wiegley <jwiegley@gmail.com> writes: >>>>>> Eli Zaretskii <eliz@gnu.org> writes: > >> We could avoid the feature freeze altogether, if we wanted, and instead cut >> the release branch and work on the release there without freezing master. > > That would be my preference. Let's cut release-25.1 this upcoming Friday night > at the freeze date. > > It does mean a commitment by developers to use and test with this branch until > the release is out. Which is precisely why we have a feature freeze phase; it enforces this desire. I know I would be _very_ tempted to ignore the release branch, to keep working on my latest Cool Feature instead. If I know I have to wait for a release before I can merge to master again, I'll work on the release as much as I can. -- -- Stephe ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Release process (was Re: Move to a cadence release model?) 2015-11-11 0:17 ` Release process (was Re: Move to a cadence release model?) Stephen Leake @ 2015-11-11 0:24 ` John Wiegley 2015-11-11 3:45 ` Eli Zaretskii 1 sibling, 0 replies; 126+ messages in thread From: John Wiegley @ 2015-11-11 0:24 UTC (permalink / raw) To: Stephen Leake; +Cc: Eli Zaretskii, john, emacs-devel >>>>> Stephen Leake <stephen_leake@stephe-leake.org> writes: > Which is precisely why we have a feature freeze phase; it enforces this > desire. > I know I would be _very_ tempted to ignore the release branch, to keep > working on my latest Cool Feature instead. > If I know I have to wait for a release before I can merge to master again, > I'll work on the release as much as I can. Yeah, that's a valid management question. Either way, I can't stop anyone from ignoring the release branch and working on their feature branch. Also, if the release branch doesn't close its bugs and reach stability, it will delay the next release (when your master changes reach the world), so that is some incentive, yes? John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Release process (was Re: Move to a cadence release model?) 2015-11-11 0:17 ` Release process (was Re: Move to a cadence release model?) Stephen Leake 2015-11-11 0:24 ` John Wiegley @ 2015-11-11 3:45 ` Eli Zaretskii 2015-11-11 10:45 ` Stephen Leake 1 sibling, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-11 3:45 UTC (permalink / raw) To: Stephen Leake; +Cc: emacs-devel, john > From: Stephen Leake <stephen_leake@stephe-leake.org> > Cc: john@yates-sheets.org, emacs-devel@gnu.org > Date: Tue, 10 Nov 2015 18:17:47 -0600 > > John Wiegley <jwiegley@gmail.com> writes: > > >>>>>> Eli Zaretskii <eliz@gnu.org> writes: > > > >> We could avoid the feature freeze altogether, if we wanted, and instead cut > >> the release branch and work on the release there without freezing master. > > > > That would be my preference. Let's cut release-25.1 this upcoming Friday night > > at the freeze date. > > > > It does mean a commitment by developers to use and test with this branch until > > the release is out. > > Which is precisely why we have a feature freeze phase; it enforces this > desire. We cannot enforce it. > I know I would be _very_ tempted to ignore the release branch, to keep > working on my latest Cool Feature instead. > > If I know I have to wait for a release before I can merge to master > again, I'll work on the release as much as I can. These considerations will become valid only when we have enough developers paying attention to bugs that are reported. (That includes you, Stephen, btw.) The way things are now, almost no one does, so the feature freeze period is just a waste of time from my POV. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Release process (was Re: Move to a cadence release model?) 2015-11-11 3:45 ` Eli Zaretskii @ 2015-11-11 10:45 ` Stephen Leake 2015-11-11 15:43 ` Eli Zaretskii ` (2 more replies) 0 siblings, 3 replies; 126+ messages in thread From: Stephen Leake @ 2015-11-11 10:45 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, john Eli Zaretskii <eliz@gnu.org> writes: >> From: Stephen Leake <stephen_leake@stephe-leake.org> >> Which is precisely why we have a feature freeze phase; it enforces this >> desire. > > We cannot enforce it. Well, the feature freeze encourages developers to work on the release more than a non-feature freeze model does. At least, it works that way for me. >> I know I would be _very_ tempted to ignore the release branch, to keep >> working on my latest Cool Feature instead. >> >> If I know I have to wait for a release before I can merge to master >> again, I'll work on the release as much as I can. > > These considerations will become valid only when we have enough > developers paying attention to bugs that are reported. (That includes > you, Stephen, btw.) Yes. I don't scan the bug tool for bugs that I might be able to work on; sometimes it seems I should. For now, I rely on someone interested in the bug emailing me if they think I could help. Is there a way to get an email for every new bug? I don't see anything on the debbugs pages, but I didn't look very hard. I'm curious how much traffic that would be. During the last feature freeze, there were reminders on this list of the bugs that were deemed release-critical. I looked at all of those bugs, and decided I could not usefully contribute to fixing them. This time around, I would argue that "fix the byte-compiler errors in cedet/*" is a release-critical bug, and I will work on that. I have already offered to, but I'm waiting for Eric to organize the effort. It needs to wait until he finishes his final merge to master. There may be other release-critical bugs that I can usefully work on. I don't have statistics on how well the feature-freeze model works in getting release-critical bugs fixed. Have we had other release models in the past? did they work any better? I do know that these same discussions were had at the start of the last feature-freeze. So a document that records the rationale for the release process would be useful. -- -- Stephe ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Release process (was Re: Move to a cadence release model?) 2015-11-11 10:45 ` Stephen Leake @ 2015-11-11 15:43 ` Eli Zaretskii 2015-11-11 23:06 ` bug policy (was Re: Release process) Stephen Leake 2015-11-11 16:39 ` Release process (was Re: Move to a cadence release model?) John Wiegley 2015-11-12 8:15 ` Xue Fuqiao 2 siblings, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-11 15:43 UTC (permalink / raw) To: Stephen Leake; +Cc: emacs-devel, john > From: Stephen Leake <stephen_leake@stephe-leake.org> > Cc: john@yates-sheets.org, emacs-devel@gnu.org > Date: Wed, 11 Nov 2015 04:45:18 -0600 > > >> From: Stephen Leake <address@hidden> > > >> Which is precisely why we have a feature freeze phase; it enforces this > >> desire. > > > > We cannot enforce it. > > Well, the feature freeze encourages developers to work on the release > more than a non-feature freeze model does. At least, it works that way > for me. Alternatively, someone else could simply take a break from working on Emacs until the freeze is over. > >> I know I would be _very_ tempted to ignore the release branch, to keep > >> working on my latest Cool Feature instead. > >> > >> If I know I have to wait for a release before I can merge to master > >> again, I'll work on the release as much as I can. > > > > These considerations will become valid only when we have enough > > developers paying attention to bugs that are reported. (That includes > > you, Stephen, btw.) (Upon re-reading, I apologize for being so blunt. It just feels too lonely there, at times.) > Yes. I don't scan the bug tool for bugs that I might be able to work on; > sometimes it seems I should. For now, I rely on someone interested in > the bug emailing me if they think I could help. I don't thibk this will work efficiently. > Is there a way to get an email for every new bug? Yes, subscribe to bug-gnu-Emacs mailing list. > I'm curious how much traffic that would be. You can see that in the archives. About 30 messages per day on the average, maybe. > During the last feature freeze, there were reminders on this list of the > bugs that were deemed release-critical. That's the last resort. There are gobs of bugs that don't block anything, and some of them are left alone for far too long. Even a prompt response that just says the bug was reproduced (or not), and ideally also with results of some initial investigation and/or request from the OP to provide more details or try something -- even this would be progress. And then there are small patches submitted there -- review and comment will be appreciated. Patches that are no-brainers, e.g., fixing a typo or some other obvious mistake, should be pushed if there are no comments after a week, say. > There may be other release-critical bugs that I can usefully work on. The problem IMO is not the release-critical bugs, it's all the rest. > I don't have statistics on how well the feature-freeze model works in > getting release-critical bugs fixed. It doesn't work at all. Release-critical bugs normally appear near the end of the pretest. Or at least they become important only then. By contrast, I'm not talking about bug fixing during the pretest, I'm talking about routine attention to the reported bugs. ^ permalink raw reply [flat|nested] 126+ messages in thread
* bug policy (was Re: Release process) 2015-11-11 15:43 ` Eli Zaretskii @ 2015-11-11 23:06 ` Stephen Leake 2015-11-12 16:12 ` Eli Zaretskii 0 siblings, 1 reply; 126+ messages in thread From: Stephen Leake @ 2015-11-11 23:06 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel, john Eli Zaretskii <eliz@gnu.org> writes: >> > These considerations will become valid only when we have enough >> > developers paying attention to bugs that are reported. (That includes >> > you, Stephen, btw.) > > (Upon re-reading, I apologize for being so blunt. It just feels too > lonely there, at times.) I didn't see it as offensive; just a gentle reminder. I relate the lonely; I'm inordinately pleased when someone actually posts to the ada-mode mailing list, even if it's just to report a bug :). >> During the last feature freeze, there were reminders on this list of the >> bugs that were deemed release-critical. > > That's the last resort. There are gobs of bugs that don't block > anything, and some of them are left alone for far too long. For your definition of "too long". As far as the Emacs project is concerned, only release-critical bugs have been left "too long". I don't see how it can be any other way, in a volunteer-staffed free software project; no one is paid to fix bugs. Another motivation for working on Emacs in general is the desire to work on a project that has a useful product. But the connection between fixing bugs and producing a useful Emacs is very tenuous in general; it is very direct for some bugs (the ones that occur in common or important use cases), but not for others (obsure bugs that are hard to reproduce). Clearly lots of people find Emacs useful despite the outstanding bugs. The bugs in common or important use cases tend to get fixed, because the package authors are still around to care about them. But we might learn something from triaging the existing bugs; I'll put that on my list of things to think about while I'm procrastinating everything else on the list :). > Even a prompt response that just says the bug was reproduced (or not), > and ideally also with results of some initial investigation and/or > request from the OP to provide more details or try something -- even > this would be progress. That is the level of support I provide for ada-mode. But that started in the context of getting paid to use Ada, so it was easy to interpret that as getting paid to maintain ada-mode. Now that I'm retired, I find myself much less motivated to maintain ada-mode. The lack of such support for Emacs in general is one reason I learned to be proficient in elisp, so I could fix any bugs that I encountered in my Emacs use. That's not an option for every user, but it is what I recommend to any team that wants to use Emacs; make sure there is reasonable access to an Emacs guru for this kind of support. > And then there are small patches submitted there -- review and comment > will be appreciated. Patches that are no-brainers, e.g., fixing a > typo or some other obvious mistake, should be pushed if there are no > comments after a week, say. I understand the process; the issue is the motivation. Clearly, it is far more fun to work on the next Cool Feature, than to chase bugs in yesterday's Boring Feature :). >> There may be other release-critical bugs that I can usefully work on. > > The problem IMO is not the release-critical bugs, it's all the rest. Exactly why are those a problem? Clearly each bug was some sort of problem to at least one user at one time, but why is it an important problem for the Emacs project in general? Do potential users get turned off by the number of bugs? We don't lose funding by ignoring bugs; what do we lose? -- -- Stephe ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: bug policy (was Re: Release process) 2015-11-11 23:06 ` bug policy (was Re: Release process) Stephen Leake @ 2015-11-12 16:12 ` Eli Zaretskii 2015-11-12 16:39 ` John Wiegley 0 siblings, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-12 16:12 UTC (permalink / raw) To: Stephen Leake; +Cc: emacs-devel, john > From: Stephen Leake <stephen_leake@stephe-leake.org> > Cc: john@yates-sheets.org, emacs-devel@gnu.org > Date: Wed, 11 Nov 2015 17:06:20 -0600 > > >> During the last feature freeze, there were reminders on this list of the > >> bugs that were deemed release-critical. > > > > That's the last resort. There are gobs of bugs that don't block > > anything, and some of them are left alone for far too long. > > For your definition of "too long". As far as the Emacs project is > concerned, only release-critical bugs have been left "too long". I don't think I agree. A bug can be non-critical, in the sense that we could live with it as we did until now, but still it prevents or interferes with someone's use case. Or maybe we should classify more bugs as release-critical ;-) Speaking about which: what exactly is your definition of criticality? The one we employ now is pretty conservative; for example, a bug that existed in previous releases is not considered release-critical. So, for instance, bug#18997 won't be considered critical, although it involves an abort, something that would be triaged as "critical" in any software maintenance out there. > I don't see how it can be any other way, in a volunteer-staffed free > software project; no one is paid to fix bugs. We cannot force volunteers do anything, but we can try persuading them. If we don't, then what do we need project leadership for? > Another motivation for working on Emacs in general is the desire to work > on a project that has a useful product. But the connection between > fixing bugs and producing a useful Emacs is very tenuous in general; it > is very direct for some bugs (the ones that occur in common or important > use cases), but not for others (obsure bugs that are hard to reproduce). > Clearly lots of people find Emacs useful despite the outstanding bugs. Many bugs in the database are neither obscure nor hard to reproduce. Those are the ones I'm talking about. We could also use more aggressive triage, and clearly mark non-reproducible and obscure bugs as such. Instead, we let them hang in limbo, which probably gives a wrong impression to someone who takes an impartial look at our open bugs. > The bugs in common or important use cases tend to get fixed, because the > package authors are still around to care about them. I think most of our packages don't have such authors around any more. As for the "important" part, it's many times in the eyes of the beholder. A bug in a feature or package you never use will not appear important to you, and it's not easy to understand its importance even when the OP explains that. On balance, I find this kind of approach not useful; a much more useful approach IME is: "do I understand the issue, and can I fix it"? > But we might learn something from triaging the existing bugs; I'll put > that on my list of things to think about while I'm procrastinating > everything else on the list :). Thanks, that will be useful. It's also possible we should use "wontfix" and "unreproducible" tags more aggressively. > > Even a prompt response that just says the bug was reproduced (or not), > > and ideally also with results of some initial investigation and/or > > request from the OP to provide more details or try something -- even > > this would be progress. > > That is the level of support I provide for ada-mode. But that started in > the context of getting paid to use Ada, so it was easy to interpret that > as getting paid to maintain ada-mode. Now that I'm retired, I find > myself much less motivated to maintain ada-mode. Alas, most of Emacs is in this orphaned state. If veteran contributors don't step forward to help more with even the initial analysis of the reported bugs, the job of those few who are involved in bug fixing becomes much harder, and the result will be more bugs left unsolved. If the bug is specific to a platform to which I have no easy access, or involves some software which I cannot or don't want to install, I can only marginally help, mostly by asking questions and suggesting ideas. If someone who does have access to a similar system reproduces the bug and provides its analysis, it is frequently much easier to propose a solution and even come up with a possible patch. Few users can help with such analysis, but most active contributors here have enough knowledge to do so. > The lack of such support for Emacs in general is one reason I learned to > be proficient in elisp, so I could fix any bugs that I encountered in my > Emacs use. That's not an option for every user, but it is what I > recommend to any team that wants to use Emacs; make sure there is > reasonable access to an Emacs guru for this kind of support. I think we have here enough of such gurus, so I'm lobbying for them to become more involved in handling bugs reported to the tracker. The main motivation, IMO, is twofold: (1) solving bugs helps your fellow users, and (2) working on a bug almost always provides an ample opportunity to learn something new about Emacs. > > And then there are small patches submitted there -- review and comment > > will be appreciated. Patches that are no-brainers, e.g., fixing a > > typo or some other obvious mistake, should be pushed if there are no > > comments after a week, say. > > I understand the process; the issue is the motivation. Clearly, it is > far more fun to work on the next Cool Feature, than to chase bugs in > yesterday's Boring Feature :). Emacs features are usually anything but boring. Most of the code was written by first-class experts in design and implementation (myself excluded), so reading and understanding it is a great investment, IMO. > >> There may be other release-critical bugs that I can usefully work on. > > > > The problem IMO is not the release-critical bugs, it's all the rest. > > Exactly why are those a problem? > > Clearly each bug was some sort of problem to at least one user at one > time, but why is it an important problem for the Emacs project in > general? A project that lags on fixing bugs doesn't have a bright future, IMO, for several reasons. For starters, users don't like that for obvious reasons, so such a project most probably loses users it could have retained. A more subtle reason is that working on bugs tends to proliferate knowledge about the project's design and internals, so not working on bugs runs a very real risk of slowly losing that knowledge and increasing the number of areas where no one can make non-trivial changes. We are almost there already: notice the bugs with font handling and with complex script layout. I'm afraid the X display back end, the GTK toolkit, and the Cairo-related code will follow, now that Jan stepped down. These are not obscure unimportant parts of Emacs, far from that. We need to grow experts in those areas soon enough, or we will start accumulating grave bugs that no one can solve. How else do you gain such experts if not by encouraging motivated contributors to start working on bugs in these areas? The only other way of gaining experts is to wait for them to magically materialize, but that doesn't work very well IME. > We don't lose funding by ignoring bugs; what do we lose? We lose our future, I'd say. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: bug policy (was Re: Release process) 2015-11-12 16:12 ` Eli Zaretskii @ 2015-11-12 16:39 ` John Wiegley 2015-11-12 17:36 ` Eli Zaretskii 0 siblings, 1 reply; 126+ messages in thread From: John Wiegley @ 2015-11-12 16:39 UTC (permalink / raw) To: Eli Zaretskii; +Cc: john, Stephen Leake, emacs-devel >>>>> Eli Zaretskii <eliz@gnu.org> writes: > Speaking about which: what exactly is your definition of criticality? We may always need to be somewhere flexible here: Whatever the pride of the developers would not allow to be delivered. If I say "crash bugs", it wouldn't mean all crash bugs, since some are very niche. If I say "crash bugs on GNU systems", we might let a terrible bug slip through on Mac that could have been solved easily. I have a feeling that most engineers, looking at a bug, will have a sense of whether it will be embarrassing to ship with that problem. These should all be promoted to release critical, and demoted only if several other people agree that it shouldn't hold up the release. > We cannot force volunteers do anything, but we can try persuading them. If > we don't, then what do we need project leadership for? The fact is, Emacs *could* slip into a permanent maintenance state, where we never add a single new feature, and work only on bugs very slowly. I could well imagine myself using 24.5 for the next 20 years just fine. But there are annoyances for some that deserve feature work to resolve, and this is what pushes Emacs forward. That, and great ideas that are just too good not to implement. It's hard to motivate people when the status quo is actually pretty darn good. We'll have to think creatively about this, since I really would like our bug database to reach zero at some point. > We need to grow experts in those areas soon enough, or we will start > accumulating grave bugs that no one can solve. I think you've just made it hard for me to fall asleep tonight. John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: bug policy (was Re: Release process) 2015-11-12 16:39 ` John Wiegley @ 2015-11-12 17:36 ` Eli Zaretskii 2015-11-12 17:50 ` John Wiegley 0 siblings, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-12 17:36 UTC (permalink / raw) To: John Wiegley; +Cc: john, stephen_leake, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Cc: Stephen Leake <stephen_leake@stephe-leake.org>, emacs-devel@gnu.org, john@yates-sheets.org > Date: Thu, 12 Nov 2015 08:39:20 -0800 > > > We need to grow experts in those areas soon enough, or we will start > > accumulating grave bugs that no one can solve. > > I think you've just made it hard for me to fall asleep tonight. Sorry about that. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: bug policy (was Re: Release process) 2015-11-12 17:36 ` Eli Zaretskii @ 2015-11-12 17:50 ` John Wiegley 2015-11-12 18:04 ` Eli Zaretskii 0 siblings, 1 reply; 126+ messages in thread From: John Wiegley @ 2015-11-12 17:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: john, stephen_leake, emacs-devel >>>>> Eli Zaretskii <eliz@gnu.org> writes: >> > We need to grow experts in those areas soon enough, or we will start >> > accumulating grave bugs that no one can solve. >> >> I think you've just made it hard for me to fall asleep tonight. > Sorry about that. I should have added the smiley, it was a joke. Mostly. Eli, this is such a good point to be made that I'll have to think very hard about it over the coming months. Thank you; I was only being facetious. John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: bug policy (was Re: Release process) 2015-11-12 17:50 ` John Wiegley @ 2015-11-12 18:04 ` Eli Zaretskii 0 siblings, 0 replies; 126+ messages in thread From: Eli Zaretskii @ 2015-11-12 18:04 UTC (permalink / raw) To: John Wiegley; +Cc: john, stephen_leake, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Cc: stephen_leake@stephe-leake.org, emacs-devel@gnu.org, john@yates-sheets.org > Date: Thu, 12 Nov 2015 09:50:35 -0800 > > >>>>> Eli Zaretskii <eliz@gnu.org> writes: > > >> > We need to grow experts in those areas soon enough, or we will start > >> > accumulating grave bugs that no one can solve. > >> > >> I think you've just made it hard for me to fall asleep tonight. > > > Sorry about that. > > I should have added the smiley, it was a joke. Mostly. Likewise here. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Release process (was Re: Move to a cadence release model?) 2015-11-11 10:45 ` Stephen Leake 2015-11-11 15:43 ` Eli Zaretskii @ 2015-11-11 16:39 ` John Wiegley 2015-11-12 8:19 ` Xue Fuqiao 2015-11-12 8:15 ` Xue Fuqiao 2 siblings, 1 reply; 126+ messages in thread From: John Wiegley @ 2015-11-11 16:39 UTC (permalink / raw) To: Stephen Leake; +Cc: Eli Zaretskii, john, emacs-devel >>>>> Stephen Leake <stephen_leake@stephe-leake.org> writes: > I don't have statistics on how well the feature-freeze model works in > getting release-critical bugs fixed. Have we had other release models in the > past? did they work any better? I'm not entirely sure how our freeze model worked in the past, but here's what I intend: The 25.1 release branch isn't ready until all its critical bugs are resolved. This means we'll need a 25.1 tag, and we'll need to go through all current high severity bugs to determine which should receive that tag. Then the clock starts, until either we have closed the last one, or removed all such tags. The motivation for working on a release branch has several aspects: (1) 25.1 isn't released until it's ready, so if you have work you're proud that you want to set free, help! (2) My focus will be on 25.1, and not on future features, so until we have 25.1 out the door, our discussions may not be as fun. (3) It will give all of us a chance to hone our bugtracker skills, and make it an easier process so future releases go more smoothly. I'm open to making changes to reduce developer inertia here, and you can be part of that by telling me about your experiences. John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Release process (was Re: Move to a cadence release model?) 2015-11-11 16:39 ` Release process (was Re: Move to a cadence release model?) John Wiegley @ 2015-11-12 8:19 ` Xue Fuqiao 2015-11-17 0:09 ` Xue Fuqiao 0 siblings, 1 reply; 126+ messages in thread From: Xue Fuqiao @ 2015-11-12 8:19 UTC (permalink / raw) To: Stephen Leake, Eli Zaretskii, Emacs-devel, john On Thu, Nov 12, 2015 at 12:39 AM, John Wiegley <jwiegley@gmail.com> wrote: Hi John, > This means we'll need a 25.1 tag, and we'll need to go through all current > high severity bugs to determine which should receive that tag. We already have something like that. I've documented it in my patch, in the "RELEASE-CRITICAL BUGS" section. You can see it in the "Feature freezes and Emacs 25" thread. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Release process (was Re: Move to a cadence release model?) 2015-11-12 8:19 ` Xue Fuqiao @ 2015-11-17 0:09 ` Xue Fuqiao 0 siblings, 0 replies; 126+ messages in thread From: Xue Fuqiao @ 2015-11-17 0:09 UTC (permalink / raw) To: Emacs-devel On Tue, Nov 17, 2015 at 12:54 AM, John Wiegley <jwiegley@gmail.com> wrote: Hi John, > I had suggested using a release tag for 25.1 in debbugs. Is that not possible? > At some time soon we'll need to start assessing existing bugs and applying > that tag to them. We don't have a "release tag", but we use the "blocking bug(s)" feature of Debbugs for bugs need to be addressed in the next release. See https://github.com/emacs-mirror/emacs/blob/9a4aa0f5945a03611ae29c516025dbd353bd26ab/admin/release-process#L30-L41 for details. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Release process (was Re: Move to a cadence release model?) 2015-11-11 10:45 ` Stephen Leake 2015-11-11 15:43 ` Eli Zaretskii 2015-11-11 16:39 ` Release process (was Re: Move to a cadence release model?) John Wiegley @ 2015-11-12 8:15 ` Xue Fuqiao 2 siblings, 0 replies; 126+ messages in thread From: Xue Fuqiao @ 2015-11-12 8:15 UTC (permalink / raw) To: Stephen Leake; +Cc: Eli Zaretskii, john, Emacs-devel On Wed, Nov 11, 2015 at 6:45 PM, Stephen Leake <stephen_leake@stephe-leake.org> wrote: > So a document that records the rationale for the release process would > be useful. I'm trying to write one currently. Please see the "Feature freezes and Emacs 25" thread. Comments are very welcome. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 13:57 Move to a cadence release model? John Yates 2015-11-10 14:28 ` John Wiegley @ 2015-11-10 14:32 ` Alan Mackenzie 2015-11-10 17:13 ` Eli Zaretskii 2015-11-10 17:11 ` Eli Zaretskii ` (2 subsequent siblings) 4 siblings, 1 reply; 126+ messages in thread From: Alan Mackenzie @ 2015-11-10 14:32 UTC (permalink / raw) To: John Yates; +Cc: Emacs developers Hello, John. On Tue, Nov 10, 2015 at 08:57:07AM -0500, John Yates wrote: > With a new master at the helm and various changes being contemplated I > would like to see some discussion of moving to a cadence release model. I suspect that here "some" is going to be somewhat of an understatement. ;-) > I have been impressed with open source projects that have made the change. > I am now employed at Mathworks which ships mission critical software to > very large enterprise customers on a 6 month cadence. > The biggest shift I see is away from wondering when the correct collection > of features, bug fixes, whatever have been accumulated to whether those > that have been accumulated are individually sufficiently cooked to ship. > Developers feel less urge to squeeze a not fully baked feature into the > current release when they can count on the next opportunity being only a > cadence interval in the future. On our current release model, we typically have a pre-test phase which is longer than 6 months. This would have to be compressed, somehow (assuming we retain the concept of pre-test). > /john -- Alan Mackenzie (Nuremberg, Germany). ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 14:32 ` Move to a cadence release model? Alan Mackenzie @ 2015-11-10 17:13 ` Eli Zaretskii 0 siblings, 0 replies; 126+ messages in thread From: Eli Zaretskii @ 2015-11-10 17:13 UTC (permalink / raw) To: Alan Mackenzie; +Cc: emacs-devel, john > Date: Tue, 10 Nov 2015 14:32:22 +0000 > From: Alan Mackenzie <acm@muc.de> > Cc: Emacs developers <emacs-devel@gnu.org> > > On our current release model, we typically have a pre-test phase which > is longer than 6 months. This would have to be compressed, somehow > (assuming we retain the concept of pre-test). Right. And IMO it cannot be compressed without significant changes in the development process. E.g., the documentation of the new features cannot be postponed to the pretest period. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 13:57 Move to a cadence release model? John Yates 2015-11-10 14:28 ` John Wiegley 2015-11-10 14:32 ` Move to a cadence release model? Alan Mackenzie @ 2015-11-10 17:11 ` Eli Zaretskii 2015-11-10 17:37 ` Óscar Fuentes 2015-11-10 18:20 ` Move to a cadence release model? Richard Stallman 2015-11-20 3:02 ` Stefan Monnier 4 siblings, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-10 17:11 UTC (permalink / raw) To: John Yates; +Cc: emacs-devel > Date: Tue, 10 Nov 2015 08:57:07 -0500 > From: John Yates <john@yates-sheets.org> > > With a new master at the helm and various changes being contemplated I would > like to see some discussion of moving to a cadence release model. > > I have been impressed with open source projects that have made the > change. Which ones? > I am now employed at Mathworks which ships mission critical software > to very large enterprise customers on a 6 month cadence. > > The biggest shift I see is away from wondering when the correct collection of > features, bug fixes, whatever have been accumulated to whether those that have > been accumulated are individually sufficiently cooked to ship. Developers feel > less urge to squeeze a not fully baked feature into the current release when > they can count on the next opportunity being only a cadence interval in the > future. AFAIK, cadence release model requires development that is planned in advance, and then actively managed to make sure the features planned for the next release are ready on time. I don't know how things work at Mathworks, but I'm guessing there are staff and processes in place to enable that. There's probably someone whose job is to collect proposals for new features, either from users, or from developers, or from significant improvements in relevant algorithms, etc. Then there's a process that distills these proposals into requirements for new features, prioritizes those requirements, and decides on the schedule they will be implemented. Then these plans are given to developers, and there are procedures that manage the development; e.g., if it turns out there's not enough manpower, someone goes out and hires some more, or takes other managerial actions. This management requires, among other things, continuous collection of status of each developer and tight control of their advances. Last, but not least, you have a known number of man-months per month at your disposal, people who work day in and day out, which allows reasonably accurate estimations of when each feature can be ready to ship. Is the above anywhere close to what happens at Mathworks? If not, perhaps you could describe the process that supports your cadence model. Because I don't know how it can be done without something like that. Cadence model can also work for FLOSS projects, provided that the development team can count on their resources to enable a steady stream of improvements. E.g., there are projects where the core developers get paid to work on the otherwise Free Software package (GDB is one such package, but even GDB doesn't always succeed to release according to plan). And maybe there are other arrangements that might enable cadence. The key is the ability of the project leadership to ensure steady flow of improvements and new features. Without that, cadence model will simply not work, because it makes very little sense to take a snapshot of the main development branch at some arbitrary point in time and declare it to be the future release. Now, we don't have any of that in Emacs. Some of what I mentioned above might be possible, if we find the right people to do the job. Other parts are IMO impossible even in principle: e.g., who of us could commit to some minimal amount of hours he/she can work on Emacs each day? Without such a basic prerequisite, how could anyone plan ahead Emacs development and ensure that the next release will be meaningful to our users? And one more thing, about the "next opportunity": this only works if that opportunity is close. If the next major Emacs release is 3 years away, no one will want to wait, and it will be unreasonable for us to ask them to wait. It is much more reasonable for _us_ to wait for a few weeks, and allow that feature to be finished in time for the release. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 17:11 ` Eli Zaretskii @ 2015-11-10 17:37 ` Óscar Fuentes 2015-11-10 17:44 ` Automate Emacs UI testing? (was: Move to a cadence release model?) John Wiegley 0 siblings, 1 reply; 126+ messages in thread From: Óscar Fuentes @ 2015-11-10 17:37 UTC (permalink / raw) To: emacs-devel Eli Zaretskii <eliz@gnu.org> writes: [snip] > And maybe there are other arrangements that might enable cadence. The key to a successful cadence release model is QA. It works very well for projects such as Clang/LLVM (possibly could do for GCC as well) because their extensive test suite. Also, if you have many resources for QA and bug-fixing, implying that most relevant problems will be discovered and fixed on a short timeframe, cadence is good too. As Emacs has no strong test suite (automatic testing of UI is hard, so no cure for this on sight) neither has many resources for steady manual testing and bug-fixing, I'm afraid that switching to the cadence model would deteriorate the quality of releases. A pity, because otherwise it is a great model, for the reasons given by the OP. [snip] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Automate Emacs UI testing? (was: Move to a cadence release model?) 2015-11-10 17:37 ` Óscar Fuentes @ 2015-11-10 17:44 ` John Wiegley 2015-11-10 18:01 ` Automate Emacs UI testing? Ashton Kemerling ` (2 more replies) 0 siblings, 3 replies; 126+ messages in thread From: John Wiegley @ 2015-11-10 17:44 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel >>>>> Óscar Fuentes <ofv@wanadoo.es> writes: > As Emacs has no strong test suite (automatic testing of UI is hard, so no > cure for this on sight) neither has many resources for steady manual testing > and bug-fixing, I'm afraid that switching to the cadence model would > deteriorate the quality of releases. Web developers have some pretty awesome tools for driving a UI and observing the resulting behavior. I wonder what it would take to have a framework like that for Emacs... John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? 2015-11-10 17:44 ` Automate Emacs UI testing? (was: Move to a cadence release model?) John Wiegley @ 2015-11-10 18:01 ` Ashton Kemerling 2015-11-10 18:02 ` Automate Emacs UI testing? (was: Move to a cadence release model?) Eli Zaretskii 2015-11-10 19:16 ` Automate Emacs UI testing? joakim 2 siblings, 0 replies; 126+ messages in thread From: Ashton Kemerling @ 2015-11-10 18:01 UTC (permalink / raw) To: emacs-devel John Wiegley <jwiegley@gmail.com> writes: >>>>>> Óscar Fuentes <ofv@wanadoo.es> writes: > >> As Emacs has no strong test suite (automatic testing of UI is hard, so no >> cure for this on sight) neither has many resources for steady manual testing >> and bug-fixing, I'm afraid that switching to the cadence model would >> deteriorate the quality of releases. > > Web developers have some pretty awesome tools for driving a UI and observing > the resulting behavior. I wonder what it would take to have a framework like > that for Emacs... > > John And said tools are pretty notorious for their unreliability and slowness. I've never heard of a web shop using them as anything more than a "we literally can't isolate this bug any other way" scenario tool. -- Ashton ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? (was: Move to a cadence release model?) 2015-11-10 17:44 ` Automate Emacs UI testing? (was: Move to a cadence release model?) John Wiegley 2015-11-10 18:01 ` Automate Emacs UI testing? Ashton Kemerling @ 2015-11-10 18:02 ` Eli Zaretskii 2015-11-10 19:16 ` Automate Emacs UI testing? joakim 2 siblings, 0 replies; 126+ messages in thread From: Eli Zaretskii @ 2015-11-10 18:02 UTC (permalink / raw) To: John Wiegley; +Cc: ofv, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Date: Tue, 10 Nov 2015 09:44:11 -0800 > Cc: emacs-devel@gnu.org > > >>>>> Óscar Fuentes <ofv@wanadoo.es> writes: > > > As Emacs has no strong test suite (automatic testing of UI is hard, so no > > cure for this on sight) neither has many resources for steady manual testing > > and bug-fixing, I'm afraid that switching to the cadence model would > > deteriorate the quality of releases. > > Web developers have some pretty awesome tools for driving a UI and observing > the resulting behavior. I wonder what it would take to have a framework like > that for Emacs... UI is only one issue. The more important issue, IMO, is poor coverage of the test suite in general. Many packages and primitives have no tests at all. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? 2015-11-10 17:44 ` Automate Emacs UI testing? (was: Move to a cadence release model?) John Wiegley 2015-11-10 18:01 ` Automate Emacs UI testing? Ashton Kemerling 2015-11-10 18:02 ` Automate Emacs UI testing? (was: Move to a cadence release model?) Eli Zaretskii @ 2015-11-10 19:16 ` joakim 2015-11-10 19:37 ` John Wiegley ` (2 more replies) 2 siblings, 3 replies; 126+ messages in thread From: joakim @ 2015-11-10 19:16 UTC (permalink / raw) To: Óscar Fuentes; +Cc: emacs-devel John Wiegley <jwiegley@gmail.com> writes: >>>>>> Óscar Fuentes <ofv@wanadoo.es> writes: > >> As Emacs has no strong test suite (automatic testing of UI is hard, so no >> cure for this on sight) neither has many resources for steady manual testing >> and bug-fixing, I'm afraid that switching to the cadence model would >> deteriorate the quality of releases. > > Web developers have some pretty awesome tools for driving a UI and observing > the resulting behavior. I wonder what it would take to have a framework like > that for Emacs... I work with test automation periodically. Web testing is a special case, because there are frameworks that can work with the browser document object model, to simulate a user, and verify results. These tools wouldn't work with Emacs. There is another class of tools that work at the windowing level, including http://www.sikuli.org/. It works by simulating events, and then analyzing the on-screen results with OpenCV, which is a computer vision framework. I have worked with this tool, and it works, but is tricky to set up. I have been wanting to set up my own tests with Sikuli and Emacs, because many emacs packages I use randomly fail after upgrade. If I could verify that everything works in a separate environment I wouldn't need to upgrade my main emacs. This is the testing scenario I have worked on. - Isolate an Emacs build and environment in a Docker container environment. This works well, but it's a little bit tricky getting the containerized Emacs to access the host screen. It is a nice strategy, because you can easily simulate a number of gnu/linux distributions. I used this strategy for my xwidget branch. - Make sikuli tests that test things like Helm and Yasnippets. I haven't done more than verifying that the strategy works. Here is a container with Sikuli that I havent tested: https://hub.docker.com/r/kkochubey1/sikuli-chrome-x11vnc/ - Do these tests on each commit in a Jenkins build server that I have. It could be any build server with the right configuration though. > > John > -- Joakim Verona ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? 2015-11-10 19:16 ` Automate Emacs UI testing? joakim @ 2015-11-10 19:37 ` John Wiegley 2015-11-11 16:59 ` Richard Stallman 2015-11-12 11:36 ` Automate Emacs UI testing? Mathieu Lirzin 2 siblings, 0 replies; 126+ messages in thread From: John Wiegley @ 2015-11-10 19:37 UTC (permalink / raw) To: joakim; +Cc: Óscar Fuentes, emacs-devel >>>>> joakim <joakim@verona.se> writes: > Web testing is a special case, because there are frameworks that can work > with the browser document object model, to simulate a user, and verify > results. These tools wouldn't work with Emacs. People have made good points. I'd like to continue this discussion on emacs-tangents (where I should have asked it), since it's pretty clear that we need more core testing before we start thinking about fancy testing schemes; and that such fanciness may not apply directly in our environment. John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? 2015-11-10 19:16 ` Automate Emacs UI testing? joakim 2015-11-10 19:37 ` John Wiegley @ 2015-11-11 16:59 ` Richard Stallman 2015-11-11 17:18 ` joakim 2015-11-12 11:36 ` Automate Emacs UI testing? Mathieu Lirzin 2 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2015-11-11 16:59 UTC (permalink / raw) To: joakim; +Cc: ofv, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > - Isolate an Emacs build and environment in a Docker container > environment. Is Docker free software? > - Make sikuli tests that test things like Helm and Yasnippets. What is a sikuli test? Can they be done without using any nonfree software? > - Do these tests on each commit in a Jenkins build server that I > have. It could be any build server with the right configuration though. It would not be good for our tests to depend on running on one particular site. They should run on any GNU/Linux system, however it could be ok for some tests to require loading certain well-known free software packages. > Here is a container > with Sikuli that I havent tested: https://hub.docker.com/r/kkochubey1/sikuli-chrome-x11vnc/ Maybe I could find out some of those answers by looking around at that, but I have a feeling it would take hours to find them that way. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? 2015-11-11 16:59 ` Richard Stallman @ 2015-11-11 17:18 ` joakim 2015-11-11 23:27 ` Richard Stallman 0 siblings, 1 reply; 126+ messages in thread From: joakim @ 2015-11-11 17:18 UTC (permalink / raw) To: Richard Stallman; +Cc: ofv, emacs-devel Richard Stallman <rms@gnu.org> writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > - Isolate an Emacs build and environment in a Docker container > > environment. > > Is Docker free software? Yes, it is free software. Apache v2. > > > - Make sikuli tests that test things like Helm and Yasnippets. > > What is a sikuli test? Can they be done without using any nonfree > software? Yes, Sikuli if free software, MIT license. A Sikuli test simulates what a user would do in terms of keyboard and mouse input. Sikuli can then verify that the correct thing happened in the application window, by analyzing what happened in the screen. The novelty Sikuli adds over older such test systems is that Sikuli is better at analyzing the screen bitmaps, because it uses a computer vision library rather than just verifying on a pixel by pixel basis. > > > - Do these tests on each commit in a Jenkins build server that I > > have. It could be any build server with the right configuration though. > > It would not be good for our tests to depend on running on one particular site. > They should run on any GNU/Linux system, however it could be ok for some tests to require loading certain well-known free software packages. The tests should run on any environment that support Docker, which is only free operating system AFAIK. (You can run parts of Docker on non-free operating systems, but that is of no real concern for us I would say) An important thing Docker helps with is packaging software so that it is easy to build and run the software. Dependencies can be clearly declared so building a container is portable. One way to look at it is that Docker is like a standardized chroot build and run environment. > > > Here is a container > > with Sikuli that I havent tested: https://hub.docker.com/r/kkochubey1/sikuli-chrome-x11vnc/ > > Maybe I could find out some of those answers by looking around at that, > but I have a feeling it would take hours to find them that way. I hope this helps. -- Joakim Verona ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? 2015-11-11 17:18 ` joakim @ 2015-11-11 23:27 ` Richard Stallman 2015-11-12 2:26 ` official Emacs Docker image (was: Automate Emacs UI testing?) Ted Zlatanov 0 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2015-11-11 23:27 UTC (permalink / raw) To: joakim; +Cc: ofv, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] It appears that Docker and Sikuli are ok for us to use, if we want to. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* official Emacs Docker image (was: Automate Emacs UI testing?) 2015-11-11 23:27 ` Richard Stallman @ 2015-11-12 2:26 ` Ted Zlatanov 2015-11-12 15:49 ` official Emacs Docker image Nic Ferrier 2015-11-12 22:31 ` official Emacs Docker image (was: Automate Emacs UI testing?) Richard Stallman 0 siblings, 2 replies; 126+ messages in thread From: Ted Zlatanov @ 2015-11-12 2:26 UTC (permalink / raw) To: emacs-devel On Wed, 11 Nov 2015 18:27:27 -0500 Richard Stallman <rms@gnu.org> wrote: RS> [[[ To any NSA and FBI agents reading my email: please consider ]]] RS> [[[ whether defending the US Constitution against all enemies, ]]] RS> [[[ foreign or domestic, requires you to follow Snowden's example. ]]] RS> It appears that Docker and Sikuli are ok for us to use, RS> if we want to. There is no official Docker image for Emacs on the Docker Hub: https://hub.docker.com/search/?q=emacs&page=1&isAutomated=0&isOfficial=0&starCount=0&pullCount=0 I think it would be very useful to make an official image and link it to Git so it builds automatically. It would make it easy to automate some types of tests, but it would also be a convenient way for users to run a very recent Emacs without downloading all the required libraries and building it locally. It would be good to make images with several platforms for testing, but for users I imagine a simple Debian image would fit most needs. Another interesting use case is running the daemon in a disposable and theoretically isolated container. John and Richard, the only issue I can see there is that the GNU Project may wish to maintain their own Docker image repository. Because there are already some official images from GNU packages on the Docker Hub such as https://hub.docker.com/_/gcc/ though, I assume this is OK. You can see all the official images at https://github.com/docker-library/official-images/tree/master/library If you decide to pursue the official repo path, you can see the instructions at https://docs.docker.com/docker-hub/official_repos/ require a single author. In the Emacs case, I didn't want to start the process myself because it's probably better to create a shared authorship, but am happy to contribute a Dockerfile and anything else needed. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2015-11-12 2:26 ` official Emacs Docker image (was: Automate Emacs UI testing?) Ted Zlatanov @ 2015-11-12 15:49 ` Nic Ferrier 2015-11-12 21:01 ` Ricardo Wurmus 2015-11-12 22:31 ` official Emacs Docker image (was: Automate Emacs UI testing?) Richard Stallman 1 sibling, 1 reply; 126+ messages in thread From: Nic Ferrier @ 2015-11-12 15:49 UTC (permalink / raw) To: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > There is no official Docker image for Emacs on the Docker Hub: > > https://hub.docker.com/search/?q=emacs&page=1&isAutomated=0&isOfficial=0&starCount=0&pullCount=0 I made one though. I use it to host marmalade. Nic ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2015-11-12 15:49 ` official Emacs Docker image Nic Ferrier @ 2015-11-12 21:01 ` Ricardo Wurmus 0 siblings, 0 replies; 126+ messages in thread From: Ricardo Wurmus @ 2015-11-12 21:01 UTC (permalink / raw) To: Nic Ferrier; +Cc: emacs-devel Nic Ferrier <nferrier@ferrier.me.uk> writes: > Ted Zlatanov <tzz@lifelogs.com> writes: > >> There is no official Docker image for Emacs on the Docker Hub: >> >> https://hub.docker.com/search/?q=emacs&page=1&isAutomated=0&isOfficial=0&starCount=0&pullCount=0 > > I made one though. I use it to host marmalade. With GNU Guix you can run Emacs in a container without having to use Docker: guix environment --container --ad-hoc emacs -- emacs This creates an isolated ad-hoc environment containing only Emacs and then runs “emacs”; all without Docker and the need for a disk image. ~~ Ricardo ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image (was: Automate Emacs UI testing?) 2015-11-12 2:26 ` official Emacs Docker image (was: Automate Emacs UI testing?) Ted Zlatanov 2015-11-12 15:49 ` official Emacs Docker image Nic Ferrier @ 2015-11-12 22:31 ` Richard Stallman 2015-11-12 23:32 ` official Emacs Docker image joakim 2016-07-06 15:22 ` Ted Zlatanov 1 sibling, 2 replies; 126+ messages in thread From: Richard Stallman @ 2015-11-12 22:31 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > John and Richard, the only issue I can see there is that the GNU Project > may wish to maintain their own Docker image repository. Because there > are already some official images from GNU packages on the Docker Hub > such as https://hub.docker.com/_/gcc/ though, I assume this is OK. Anyone is free, and welcome, to use our packages this way. The one concern I have about it is that using Docker (the server) for this is SaaSS. If we want to do testing using Docker (the software), we should write something that quickly and easily configures Docker (the software) on any machine, rather than recommending people use Docker (the server). -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2015-11-12 22:31 ` official Emacs Docker image (was: Automate Emacs UI testing?) Richard Stallman @ 2015-11-12 23:32 ` joakim 2016-07-06 15:22 ` Ted Zlatanov 1 sibling, 0 replies; 126+ messages in thread From: joakim @ 2015-11-12 23:32 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > John and Richard, the only issue I can see there is that the GNU Project > > may wish to maintain their own Docker image repository. Because there > > are already some official images from GNU packages on the Docker Hub > > such as https://hub.docker.com/_/gcc/ though, I assume this is OK. > > Anyone is free, and welcome, to use our packages this way. The one > concern I have about it is that using Docker (the server) for this is SaaSS. > > If we want to do testing using Docker (the software), we should write something > that quickly and easily configures Docker (the software) on any machine, > rather than recommending people use Docker (the server). I think you mean the docker registry, which is the server that provides images for the docker client. It is free software, Apache V2. It is pretty easy to set up the entire Docker stack on a free system, and all of it is free software as far as I can determine anyway. That said, there might be reasons why GNU would like to host it's own docker registry. -- Joakim Verona ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2015-11-12 22:31 ` official Emacs Docker image (was: Automate Emacs UI testing?) Richard Stallman 2015-11-12 23:32 ` official Emacs Docker image joakim @ 2016-07-06 15:22 ` Ted Zlatanov 2016-07-07 21:56 ` Richard Stallman 1 sibling, 1 reply; 126+ messages in thread From: Ted Zlatanov @ 2016-07-06 15:22 UTC (permalink / raw) To: emacs-devel On Thu, 12 Nov 2015 17:31:58 -0500 Richard Stallman <rms@gnu.org> wrote: >> John and Richard, the only issue I can see there is that the GNU Project >> may wish to maintain their own Docker image repository. Because there >> are already some official images from GNU packages on the Docker Hub >> such as https://hub.docker.com/_/gcc/ though, I assume this is OK. RS> Anyone is free, and welcome, to use our packages this way. The one RS> concern I have about it is that using Docker (the server) for this is SaaSS. Understood. RS> If we want to do testing using Docker (the software), we should write something RS> that quickly and easily configures Docker (the software) on any machine, RS> rather than recommending people use Docker (the server). Yup. That's what I'd like to do. Setting up an Emacs image is easy in itself, you write a Dockerfile which is sort of a shell script for building Docker images. The output is a binary artifact. I would probably set up multiple builds (which the Docker Hub provides as a free service) for several platforms, so pulling emacs-official:debian would get an image of Emacs running in Debian, for instance. That's the part where it's nice to use the Docker Hub service; it doesn't provide anything that can't be done locally but it simplifies automated builds, and provides convenient central searching and storage for many people. The key thing is to make the image "official" so it's trusted by Docker Hub users and has a top-level namespace. That will increase the popularity of the image. I think this is important because there are other GNU packages, such as GCC linked above, that are "official" and only seem to be maintained by Docker Inc. staff (see https://github.com/docker-library/gcc for the history of the GCC official image). I recommend creating a FSF/GNU organization on Docker Hub, which can then be joined by interested contributors and can streamline this work. Contributing individually won't scale. On Thu, 12 Nov 2015 23:49:52 +0800 Nic Ferrier <nferrier@ferrier.me.uk> wrote: NF> I made one though. I use it to host marmalade. Could you point me to it? I looked and found nothing. Thanks! Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-06 15:22 ` Ted Zlatanov @ 2016-07-07 21:56 ` Richard Stallman 2016-07-08 13:36 ` Ted Zlatanov 0 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2016-07-07 21:56 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I think this is important because there are > other GNU packages, such as GCC linked above, that are "official" Could you explain what you mean by "official"? In what sense are those "official"? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-07 21:56 ` Richard Stallman @ 2016-07-08 13:36 ` Ted Zlatanov 2016-07-09 16:54 ` Richard Stallman 0 siblings, 1 reply; 126+ messages in thread From: Ted Zlatanov @ 2016-07-08 13:36 UTC (permalink / raw) To: emacs-devel On Thu, 07 Jul 2016 17:56:35 -0400 Richard Stallman <rms@gnu.org> wrote: >> I think this is important because there are >> other GNU packages, such as GCC linked above, that are "official" RS> Could you explain what you mean by "official"? In what sense are RS> those "official"? The Docker Hub web site marks them so, and users trust them more. They tend to be up to date. Docker Inc. provides some maintenance and review for such images, so they are in many ways an investment for the company. I don't know more, I've never made or maintained an official image. But GCC is up there, as I said, so there's a precedent. I think FSF/GNU software can be part of that ecosystem, but if not then we should look at our own FSF/GNU Docker Hub repository. Either way, users will benefit. Right now there's nothing official. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-08 13:36 ` Ted Zlatanov @ 2016-07-09 16:54 ` Richard Stallman 2016-07-09 23:04 ` Ted Zlatanov 0 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2016-07-09 16:54 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > RS> Could you explain what you mean by "official"? In what sense are > RS> those "official"? > The Docker Hub web site marks them so, and users trust them more. They > tend to be up to date. Who said these are "official"? > Docker Inc. provides some maintenance and review for such images, so > they are in many ways an investment for the company. I don't know more, > I've never made or maintained an official image. But GCC is up there, as > I said, so there's a precedent. Whether we should recommend Docker containers is a ethical question and a political question. If the answer is yes, whether we should post them on the Docker site is another ethical question and another political question. Precedent is not the way to reach conclusions about such questions. In other words, the fact that someone is doing something does not mean it is a good thing to do. The GNU Project has no position on those questions as yet. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-09 16:54 ` Richard Stallman @ 2016-07-09 23:04 ` Ted Zlatanov 2016-07-10 14:25 ` Richard Stallman 2016-07-12 22:45 ` John Wiegley 0 siblings, 2 replies; 126+ messages in thread From: Ted Zlatanov @ 2016-07-09 23:04 UTC (permalink / raw) To: emacs-devel On Sat, 09 Jul 2016 12:54:33 -0400 Richard Stallman <rms@gnu.org> wrote: RS> Could you explain what you mean by "official"? In what sense are RS> those "official"? >> The Docker Hub web site marks them so, and users trust them more. They >> tend to be up to date. RS> Who said these are "official"? Docker Inc., who runs the Docker Hub. They essentially own the top namespace, so pulling "ubuntu" gets the official Ubuntu image, while "rms/ubuntu" is under the "rms" (usually a user name) namespace. >> Docker Inc. provides some maintenance and review for such images, so >> they are in many ways an investment for the company. I don't know more, >> I've never made or maintained an official image. But GCC is up there, as >> I said, so there's a precedent. RS> Whether we should recommend Docker containers is a ethical question RS> and a political question. If the answer is yes, whether we should RS> post them on the Docker site is another ethical question and another RS> political question. RS> Precedent is not the way to reach conclusions about such questions. RS> In other words, the fact that someone is doing something does not RS> mean it is a good thing to do. RS> The GNU Project has no position on those questions as yet. Yes, right, and that's why I am trying to start the discussion instead of just putting up Emacs images on the Docker Hub :) What's the plan for coming to a position? Is there some timeframe, or some milestones, that have to be reached? Will the discussions be private and then an announcement made? Containers are in many ways hiding free software from the users, who are not aware of all the GNU or other software at every layer, and usually just use the top layer as a service (wrapping all the others). Docker in particular does a great job at simplifying the process, so users don't have to pay attention to licenses or provenance. So I think establishing a FSF/GNU presence and even branding in the Docker community now is important. I hope you'll consider that. Thanks Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-09 23:04 ` Ted Zlatanov @ 2016-07-10 14:25 ` Richard Stallman 2016-07-12 22:45 ` John Wiegley 1 sibling, 0 replies; 126+ messages in thread From: Richard Stallman @ 2016-07-10 14:25 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Docker Inc., who runs the Docker Hub. They essentially own the top > namespace, so pulling "ubuntu" gets the official Ubuntu image, while > "rms/ubuntu" is under the "rms" (usually a user name) namespace. Needless to say, Docker's label of "official" carries no weight in the GNU Project. I don't know what Docker's criteria for an "official" distribution are, so I am not ready to reach any conclusion about what stance we should take towards that. > What's the plan for coming to a position? Is there some timeframe, or > some milestones, that have to be reached? Will the discussions be > private and then an announcement made? I don't have a formal plan like that for studying a question. We discussed docker containers and reached the conclusion that there is nothing inherently wrong with them. So it is ok for GNU packages to make and distribute them. I will ask some advisors to look at the Docker site and see what is good or bad about it. Some of the criteria for source repositories (http://gnu.org/software/repo-criteria.html will be relevant, though others will not be. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-09 23:04 ` Ted Zlatanov 2016-07-10 14:25 ` Richard Stallman @ 2016-07-12 22:45 ` John Wiegley 2016-07-13 13:12 ` Richard Stallman 2016-07-13 14:41 ` Ted Zlatanov 1 sibling, 2 replies; 126+ messages in thread From: John Wiegley @ 2016-07-12 22:45 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1177 bytes --] >>>>> "TZ" == Ted Zlatanov <tzz@lifelogs.com> writes: TZ> Docker Inc., who runs the Docker Hub. They essentially own the top TZ> namespace, so pulling "ubuntu" gets the official Ubuntu image, while TZ> "rms/ubuntu" is under the "rms" (usually a user name) namespace. Wouldn't the "official" Docker image for Emacs be some "official" base OS, such as debian:wheezy, and then the current Emacs release tarball built with default options upon that base? I say this because there are already "official" versions of Ubuntu and Emacs, released on their respective websites, and Docker is just combining them into another delivery form. Since they don't add or change anything about the code being deployed, the officialness of Emacs running in a container should be transitively determined by where its sources came from. In all of this the FSF needn't be involved, except to be sure that whoever is packaging these Emacs containers isn't adding or changing anything from what is released on ftp.gnu.org. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 629 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-12 22:45 ` John Wiegley @ 2016-07-13 13:12 ` Richard Stallman 2016-07-13 16:34 ` John Wiegley 2016-07-13 14:41 ` Ted Zlatanov 1 sibling, 1 reply; 126+ messages in thread From: Richard Stallman @ 2016-07-13 13:12 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Wouldn't the "official" Docker image for Emacs be some "official" base OS, > such as debian:wheezy, I don't understand concretely what the scenario is. Who is doing what? Who is deciding what? The FSF won't officially base anything on Debian, because we don't endorse Debian. See http://gnu.org/distros/common-distros.html for the reason we don't. > the officialness of Emacs running in a container should be > transitively determined by where its sources came from. Not solely from that! The container would contain other programs besides Emacs, and our ethical concerns apply to them too. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-13 13:12 ` Richard Stallman @ 2016-07-13 16:34 ` John Wiegley 2016-12-30 0:10 ` Richard Stallman 0 siblings, 1 reply; 126+ messages in thread From: John Wiegley @ 2016-07-13 16:34 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel >>>>> Richard Stallman <rms@gnu.org> writes: > I don't understand concretely what the scenario is. Who is doing what? Who > is deciding what? Ok, here is the scenario: You create a Docker build recipe by picking a "base" GNU/Linux distribution (some variant of GNU/Linux that has an absolute minimum of included programs), a recipe to install build tools, and then a recipes to build the target program. There are many ways to optimize this so that the result is as small as possible, but that's the basics in a nutshell. If the FSF doesn't endorse Debian, then an alternate GNU/Linux base can be chosen, and the build step crafted to suit it. The final "image" as they call it will be an Emacs binary, built on that base, that users can download and directly run from any of the major operating systems (Mac OS X, Windows, any flavor of GNU/Linux). It does this for non- GNU/Linux operating systems by either running the image in a virtual machine, or by using hyper-visor technology. So: base + tools + Emacs source -> build -> Docker image. This makes it possible to know *exactly* what is being contained in the image, and how it was produced. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-13 16:34 ` John Wiegley @ 2016-12-30 0:10 ` Richard Stallman 2016-12-30 0:53 ` John Wiegley 2016-12-31 10:11 ` Philippe Vaucher 0 siblings, 2 replies; 126+ messages in thread From: Richard Stallman @ 2016-12-30 0:10 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Please forgive me for taking 6 months to respond to this. > You create a Docker build recipe by picking a "base" GNU/Linux distribution > (some variant of GNU/Linux that has an absolute minimum of included programs), > a recipe to install build tools, and then a recipes to build the target > program. There are many ways to optimize this so that the result is as small > as possible, but that's the basics in a nutshell. > If the FSF doesn't endorse Debian, then an alternate GNU/Linux base can be > chosen, and the build step crafted to suit it. I think I follow this part. > The final "image" as they call it will be an Emacs binary, built on that base, > that users can download and directly run from any of the major operating > systems (Mac OS X, Windows, any flavor of GNU/Linux). At this point, I am confused, because the statements seem to conflict. Would the "Docker image" of Emacs _include_ the base system? Or would it be an executable Emacs package that could be installed straight _on top of_ that base system? If it is the latter, I don't see how it could run on any other GNU/Linux system version aside from the one chosen as the base, except using a virtual machine containing the chosen base system. If it is the latter, then I see how it could run on another GNU/Linux system in a virtual machine, but using the virtual machine seems like a drawback. Can you please explain? I do see how running on other systems by running GNU/Linux in a virtual machine could make maintenance easier for us -- we could perhaps delete some of our code used to support those other systems. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 0:10 ` Richard Stallman @ 2016-12-30 0:53 ` John Wiegley 2016-12-30 21:36 ` Richard Stallman ` (2 more replies) 2016-12-31 10:11 ` Philippe Vaucher 1 sibling, 3 replies; 126+ messages in thread From: John Wiegley @ 2016-12-30 0:53 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel >>>>> Richard Stallman <rms@gnu.org> writes: >> The final "image" as they call it will be an Emacs binary, built on that >> base, that users can download and directly run from any of the major >> operating systems (Mac OS X, Windows, any flavor of GNU/Linux). > At this point, I am confused, because the statements seem to conflict. > Would the "Docker image" of Emacs _include_ the base system? Or would it be > an executable Emacs package that could be installed straight _on top of_ > that base system? I see now that I was unclear: A Docker image is a self-contained tarball containing a GNU/Linux kernel, necessary system software, and the final Emacs executable that was built by the image recipe. The Docker image contents, thus, can be entirely free software. Executing the image on some platforms (such as Windows) may use proprietary software to perform the execution (for example, VM provisioning software). -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 0:53 ` John Wiegley @ 2016-12-30 21:36 ` Richard Stallman 2016-12-30 22:01 ` joakim ` (2 more replies) 2016-12-31 1:22 ` Yann Hodique 2017-01-28 11:06 ` Alex Bennée 2 siblings, 3 replies; 126+ messages in thread From: Richard Stallman @ 2016-12-30 21:36 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I see now that I was unclear: A Docker image is a self-contained tarball > containing a GNU/Linux kernel, necessary system software, and the final Emacs > executable that was built by the image recipe. Now it is coherent. > The Docker image contents, thus, can be entirely free software. Executing the > image on some platforms (such as Windows) may use proprietary software to > perform the execution (for example, VM provisioning software). I see how it makes sense to use this on Windows. But it seems absurd to use this on GNU/Linux. Why does anyone do that? How big would such a docker image be? I know that disks are getting bigger, but how many such applications could fit on a typical laptop? However, I don't see any ethical issue about making and distributing Docker images of Emacs as long as we get the details right: for instance, use an endorsed free GNU/Linux distro. Do you see any specific issues we need to consider? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 21:36 ` Richard Stallman @ 2016-12-30 22:01 ` joakim 2016-12-30 22:08 ` John Wiegley 2016-12-31 22:04 ` Ricardo Wurmus 2 siblings, 0 replies; 126+ messages in thread From: joakim @ 2016-12-30 22:01 UTC (permalink / raw) To: Richard Stallman; +Cc: John Wiegley, emacs-devel Richard Stallman <rms@gnu.org> writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > > I see now that I was unclear: A Docker image is a self-contained tarball > > containing a GNU/Linux kernel, necessary system software, and the final Emacs > > executable that was built by the image recipe. > > Now it is coherent. > > > The Docker image contents, thus, can be entirely free software. Executing the > > image on some platforms (such as Windows) may use proprietary software to > > perform the execution (for example, VM provisioning software). > > I see how it makes sense to use this on Windows. But it seems absurd > to use this on GNU/Linux. Why does anyone do that? It is quite useful in order to handle dependencies. When developing an emacs feature I found it useful to test the feature by having many different emacs docker containers, each one containing different gnu/linux distributions and different emacs compile flags. It was very convenient in order to test all the different configurations on a single machine. A container is a bit like a virtual machine but also a bit like a traditional changeroot. Another thing to consider is that Docker isn't fantastic for desktop applications, at least when I used Docker for this purpose. It is doable, by manipulating X sockets and whatnot. For this reason alternatives are emerging with focus on desktop applications, such as Flatpak. Gnome applications can be accessed with Flatpak for instance. Another method is using Gnu Guix. All methods have their pros and cons and different usage scenarios. > > How big would such a docker image be? I know that disks are getting > bigger, but how many such applications could fit on a typical laptop? Docker uses layered copy on write file systems in order to save space. Basically, each container can re-use the filesystem usage of other containers. I can't provide an exact figure of how many docker packaged applications can fit on a laptop, but "many" is a reasonable assumption. > However, I don't see any ethical issue about making and distributing > Docker images of Emacs as long as we get the details right: for > instance, use an endorsed free GNU/Linux distro. > > Do you see any specific issues we need to consider? -- Joakim Verona joakim@verona.se +46705459454 ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 21:36 ` Richard Stallman 2016-12-30 22:01 ` joakim @ 2016-12-30 22:08 ` John Wiegley 2016-12-31 18:25 ` Richard Stallman 2016-12-31 22:04 ` Ricardo Wurmus 2 siblings, 1 reply; 126+ messages in thread From: John Wiegley @ 2016-12-30 22:08 UTC (permalink / raw) To: Richard Stallman; +Cc: emacs-devel >>>>> Richard Stallman <rms@gnu.org> writes: > I see how it makes sense to use this on Windows. But it seems absurd to use > this on GNU/Linux. Why does anyone do that? On GNU/Linux systems, it runs the image in a low-cost container, providing better process separation than chroot, while also allowing you to use alternative kernel versions, or a different distro (for example, running something built for CentOS on a Debian box). > How big would such a docker image be? I know that disks are getting bigger, > but how many such applications could fit on a typical laptop? Probably <200M, if constructed well, and with all sources and documentation made available within the image. > However, I don't see any ethical issue about making and distributing Docker > images of Emacs as long as we get the details right: for instance, use an > endorsed free GNU/Linux distro. > > Do you see any specific issues we need to consider? No, I think we can provide a 100% free image, that others could run on any system supporting Docker-engine (Windows, FreeBSD, Mac, GNU/Linux). This will allow them to experience identical behavior on all those systems. It would also be able to edit host files, if the user passes -v to map one or more host directories into the container. As to *why* anyone would want to do this: The biggest advantage to Docker is not packaging a single application, since Emacs can already run on all these systems. It's having the ability to test a perfectly self-contained Emacs, that runs within a virgin environment every time (any changes made to the container are lost as soon as the container is stopped). One could then have multiple Emacsen available, and be able to run tests on each version, without disturbing their host machine's installation. -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 22:08 ` John Wiegley @ 2016-12-31 18:25 ` Richard Stallman 2017-01-27 14:56 ` Ted Zlatanov 0 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2016-12-31 18:25 UTC (permalink / raw) To: John Wiegley; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > I see how it makes sense to use this on Windows. But it seems absurd to use > > this on GNU/Linux. Why does anyone do that? > On GNU/Linux systems, it runs the image in a low-cost container, providing > better process separation than chroot, while also allowing you to use > alternative kernel versions, or a different distro (for example, running > something built for CentOS on a Debian box). I guess that makes sense for special circumstances. Anyway, it does no wrong to anyone. So please support it if you want to. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-31 18:25 ` Richard Stallman @ 2017-01-27 14:56 ` Ted Zlatanov 2017-01-27 19:45 ` Filipe Silva ` (2 more replies) 0 siblings, 3 replies; 126+ messages in thread From: Ted Zlatanov @ 2017-01-27 14:56 UTC (permalink / raw) To: emacs-devel On Sat, 31 Dec 2016 13:25:32 -0500 Richard Stallman <rms@gnu.org> wrote: RS> I guess that makes sense for special circumstances. Anyway, it does RS> no wrong to anyone. So please support it if you want to. After talking to RMS, I created https://hub.docker.com/u/fsfemacs and am currently the owner of the organization. The image, when ready, will be "fsfemacs/emacs". I named it that way to emphasize the FSF organization, rather than "gnuemacs" which would emphasize the GNU project. If you're interested in collaborating on a Dockerfile that builds 24.x and 25.x/master, let me know here or in e-mail. If you have one already, even better. Thanks Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-27 14:56 ` Ted Zlatanov @ 2017-01-27 19:45 ` Filipe Silva 2017-01-30 14:36 ` Ted Zlatanov 2017-01-30 17:10 ` Ricardo Wurmus 2017-01-28 2:18 ` Richard Stallman 2017-02-21 15:01 ` Philippe Vaucher 2 siblings, 2 replies; 126+ messages in thread From: Filipe Silva @ 2017-01-27 19:45 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 1140 bytes --] Ted, I think that before the portable dumper branch get's merged or the big elc file branch gets merged, you are going to have a really hard time writing a docker file for that because of: https://github.com/docker/docker/issues/22801 You'll probably will have to rely on "docker commiting" your image. That's how I do it for now. I built emacs from git head with it. On Fri, Jan 27, 2017 at 12:56 PM, Ted Zlatanov <tzz@lifelogs.com> wrote: > On Sat, 31 Dec 2016 13:25:32 -0500 Richard Stallman <rms@gnu.org> wrote: > > RS> I guess that makes sense for special circumstances. Anyway, it does > RS> no wrong to anyone. So please support it if you want to. > > After talking to RMS, I created https://hub.docker.com/u/fsfemacs and am > currently the owner of the organization. The image, when ready, will be > "fsfemacs/emacs". I named it that way to emphasize the FSF organization, > rather than "gnuemacs" which would emphasize the GNU project. > > If you're interested in collaborating on a Dockerfile that builds 24.x > and 25.x/master, let me know here or in e-mail. If you have one already, > even better. > > Thanks > Ted > > > [-- Attachment #2: Type: text/html, Size: 2231 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-27 19:45 ` Filipe Silva @ 2017-01-30 14:36 ` Ted Zlatanov 2017-01-30 17:10 ` Ricardo Wurmus 1 sibling, 0 replies; 126+ messages in thread From: Ted Zlatanov @ 2017-01-30 14:36 UTC (permalink / raw) To: emacs-devel On Fri, 27 Jan 2017 17:45:16 -0200 Filipe Silva <filipe.silva@gmail.com> wrote: FS> Ted, I think that before the portable dumper branch get's merged or the big FS> elc file branch gets merged, you are going to have a really hard time FS> writing a docker file for that because of: FS> https://github.com/docker/docker/issues/22801 FS> You'll probably will have to rely on "docker commiting" your image. That's FS> how I do it for now. I built emacs from git head with it. One of the goals is to let every user `docker build' it locally. I can wait for the portable dumper, and meanwhile I can push a manual image if you show me how. Or I can make you one of the owners and you can push it yourself. On Fri, 27 Jan 2017 21:18:17 -0500 Richard Stallman <rms@gnu.org> wrote: RS> For this activity it is more correct to emphasize GNU rather than the FSF. OK, it's "gnuemacs" on Docker Hub now. As before, e-mail me if you think you can help develop the "gnuemacs/emacs" image for our users and I'll add you. Thanks Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-27 19:45 ` Filipe Silva 2017-01-30 14:36 ` Ted Zlatanov @ 2017-01-30 17:10 ` Ricardo Wurmus 2017-01-30 17:44 ` Ted Zlatanov 1 sibling, 1 reply; 126+ messages in thread From: Ricardo Wurmus @ 2017-01-30 17:10 UTC (permalink / raw) To: Filipe Silva; +Cc: Emacs developers Filipe Silva <filipe.silva@gmail.com> writes: > Ted, I think that before the portable dumper branch get's merged or the big > elc file branch gets merged, you are going to have a really hard time > writing a docker file for that because of: > https://github.com/docker/docker/issues/22801 I would like to state again that we (i.e. the GNU project) already have a way to build valid Docker images for Emacs using GNU Guix. It does not even involve the use of Docker, nor does it require a third-party “base image” of a GNU+Linux system. For the lack of up-to-date HTML documentation see the Texinfo source file of the manual here: http://git.savannah.gnu.org/cgit/guix.git/tree/doc/guix.texi#n2480 Since Guix abides by the FSDG we can also be certain that the generated image contains nothing but software libre. Would it be helpful if the Guix project provided a Docker image for the latest release for download? To me it seems only natural for GNU Emacs and GNU Guix to cooperate; it’s all GNU. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-30 17:10 ` Ricardo Wurmus @ 2017-01-30 17:44 ` Ted Zlatanov 2017-01-31 0:14 ` Filipe Silva 0 siblings, 1 reply; 126+ messages in thread From: Ted Zlatanov @ 2017-01-30 17:44 UTC (permalink / raw) To: emacs-devel On Mon, 30 Jan 2017 18:10:53 +0100 Ricardo Wurmus <rekado@elephly.net> wrote: RW> Filipe Silva <filipe.silva@gmail.com> writes: >> Ted, I think that before the portable dumper branch get's merged or the big >> elc file branch gets merged, you are going to have a really hard time >> writing a docker file for that because of: >> https://github.com/docker/docker/issues/22801 RW> I would like to state again that we (i.e. the GNU project) already have RW> a way to build valid Docker images for Emacs using GNU Guix. It does RW> not even involve the use of Docker, nor does it require a third-party RW> “base image” of a GNU+Linux system. I don't see a problem providing both as "gnuemacs/guix-emacs" and "gnuemacs/docker-emacs" or something like that. Or as tags of "gnuemacs/emacs". I don't think they are equivalent, though, so the need for a `docker build' solution is still there. RW> Would it be helpful if the Guix project provided a Docker image for the RW> latest release for download? To me it seems only natural for GNU Emacs RW> and GNU Guix to cooperate; it’s all GNU. Sure. But there's more that Docker Hub offers: a global namespace; a distributed download service; automated builds. You can upload the Guix image to Docker Hub and get all of those benefits except the automated builds: see https://docs.docker.com/docker-hub/repos/ If you can pack an ARM build into the image so it's multiarch, that's great too. I know there's a way to do it with the Docker tools, so the image format supports it. But it's definitely not a requirement. I can add you to the Docker Hub account so you can do at least the first uploads. Later we can automate them through Hydra or some other CI tool. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-30 17:44 ` Ted Zlatanov @ 2017-01-31 0:14 ` Filipe Silva 2017-01-31 14:32 ` Ted Zlatanov 0 siblings, 1 reply; 126+ messages in thread From: Filipe Silva @ 2017-01-31 0:14 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 2014 bytes --] Ted, https://hub.docker.com/r/gnuemacs/emacs/ is giving me http 404. Is that the correct address? On Mon, Jan 30, 2017 at 3:44 PM, Ted Zlatanov <tzz@lifelogs.com> wrote: > On Mon, 30 Jan 2017 18:10:53 +0100 Ricardo Wurmus <rekado@elephly.net> > wrote: > > RW> Filipe Silva <filipe.silva@gmail.com> writes: > > >> Ted, I think that before the portable dumper branch get's merged or the > big > >> elc file branch gets merged, you are going to have a really hard time > >> writing a docker file for that because of: > >> https://github.com/docker/docker/issues/22801 > > RW> I would like to state again that we (i.e. the GNU project) already have > RW> a way to build valid Docker images for Emacs using GNU Guix. It does > RW> not even involve the use of Docker, nor does it require a third-party > RW> “base image” of a GNU+Linux system. > > I don't see a problem providing both as "gnuemacs/guix-emacs" and > "gnuemacs/docker-emacs" or something like that. Or as tags of > "gnuemacs/emacs". I don't think they are equivalent, though, so the need > for a `docker build' solution is still there. > > RW> Would it be helpful if the Guix project provided a Docker image for the > RW> latest release for download? To me it seems only natural for GNU Emacs > RW> and GNU Guix to cooperate; it’s all GNU. > > Sure. But there's more that Docker Hub offers: a global namespace; a > distributed download service; automated builds. You can upload the Guix > image to Docker Hub and get all of those benefits except the automated > builds: see https://docs.docker.com/docker-hub/repos/ > > If you can pack an ARM build into the image so it's multiarch, that's > great too. I know there's a way to do it with the Docker tools, so the > image format supports it. But it's definitely not a requirement. > > I can add you to the Docker Hub account so you can do at least the first > uploads. Later we can automate them through Hydra or some other CI tool. > > Ted > > > [-- Attachment #2: Type: text/html, Size: 3172 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-31 0:14 ` Filipe Silva @ 2017-01-31 14:32 ` Ted Zlatanov 2017-02-01 3:03 ` Richard Stallman 0 siblings, 1 reply; 126+ messages in thread From: Ted Zlatanov @ 2017-01-31 14:32 UTC (permalink / raw) To: emacs-devel On Mon, 30 Jan 2017 22:14:46 -0200 Filipe Silva <filipe.silva@gmail.com> wrote: FS> https://hub.docker.com/r/gnuemacs/emacs/ is giving me http 404. Is that the FS> correct address? Create a Docker Hub account and let me know what it is. I'll add you to the owners so you can upload the image. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-31 14:32 ` Ted Zlatanov @ 2017-02-01 3:03 ` Richard Stallman 2017-02-01 15:25 ` Ted Zlatanov 0 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2017-02-01 3:03 UTC (permalink / raw) To: emacs-devel; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Create a Docker Hub account and let me know what it is. I'll add you to > the owners so you can upload the image. Here we seem to have returned to the use of the accounts that require nonfree Javascript code to create. Please DO NOT post anything using a Docker Hub account if making or using such an account requires nonfree software. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-01 3:03 ` Richard Stallman @ 2017-02-01 15:25 ` Ted Zlatanov 2017-02-02 2:53 ` Richard Stallman 0 siblings, 1 reply; 126+ messages in thread From: Ted Zlatanov @ 2017-02-01 15:25 UTC (permalink / raw) To: emacs-devel On Tue, 31 Jan 2017 22:03:57 -0500 Richard Stallman <rms@gnu.org> wrote: >> Create a Docker Hub account and let me know what it is. I'll add you to >> the owners so you can upload the image. RS> Here we seem to have returned to the use of the accounts that RS> require nonfree Javascript code to create. RS> Please DO NOT post anything using a Docker Hub account RS> if making or using such an account requires nonfree software. On Tue, 31 Jan 2017 22:03:07 -0500 Richard Stallman <rms@gnu.org> wrote: RS> A concrete practical question: does it work to prepare and upload RS> images without running nonfree JS code? RS> If so, we can go ahead and upload images. >> Yes, correct. Just think of it as a package repository with automated >> builds. You can upload your own package, built locally. That's what we >> may do for the Guix images, if the Guix developers are interested. RS> That's good. RS> What exactly is it that requires nonfree JS code to use? RS> And what job does it do? I went to Docker Hub, turned off JS, and was able to use the settings dialogs necessary to maintain the "gnuemacs" account going forward. Account creation also seemed to work. This is completely separate from preparing, signing, and uploading images to the Docker Hub, which is like pushing packages to a repository and does not involve web browsing. Can we move on? Thanks Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-01 15:25 ` Ted Zlatanov @ 2017-02-02 2:53 ` Richard Stallman 2017-02-02 5:13 ` Mike Gerwitz 2017-02-02 14:21 ` Ted Zlatanov 0 siblings, 2 replies; 126+ messages in thread From: Richard Stallman @ 2017-02-02 2:53 UTC (permalink / raw) To: Ted Zlatanov; +Cc: Mike Gerwitz, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I went to Docker Hub, turned off JS, and was able to use the settings > dialogs necessary to maintain the "gnuemacs" account going forward. > Account creation also seemed to work. That's sounds favorable. But could you please compare notes with Mike Gurwitz about what does or doesn't require nonfree JS code? You and he are getting different results; the anomaly is troubling. Please don't try to push us to "move on" without establishing the facts of the situation clearly. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-02 2:53 ` Richard Stallman @ 2017-02-02 5:13 ` Mike Gerwitz 2017-02-02 14:21 ` Ted Zlatanov 1 sibling, 0 replies; 126+ messages in thread From: Mike Gerwitz @ 2017-02-02 5:13 UTC (permalink / raw) To: Richard Stallman; +Cc: Ted Zlatanov, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1916 bytes --] On Wed, Feb 01, 2017 at 21:53:27 -0500, Richard Stallman wrote: > > I went to Docker Hub, turned off JS, and was able to use the settings > > dialogs necessary to maintain the "gnuemacs" account going forward. > > Account creation also seemed to work. > > That's sounds favorable. But could you please compare notes with Mike > Gurwitz about what does or doesn't require nonfree JS code? You and > he are getting different results; the anomaly is troubling. Account registration on the homepage of hub.docker.com does not work without JS. Is there somewhere else you can register? Since the page uses React, the form itself is not a standard HTML form: it form contains no action or URL to post to, so clicking the "Sign Up" button simply reloads the page (GET /): <form class="row" data-reactid=".1xy13jx9bls.0.0.1.0.1.0.1"> (With JS enabled, it posts to /v2/users/signup/) AFAIK, pushing/pulling images and such can be done using the command-line utility, which requires no proprietary software. It's getting to the point where one _can push_ images on Docker Hub (which requires an account and some upfront work on Docker Hub) that is a problem. While I have an account for work, I haven't done anything with the images, so I don't know if e.g. pushing an image that doesn't exist will create it. If not, it doesn't appear to be possible to create new e.g. repositories without JS. There's no harm done to users looking to download the image. The harm is done to users registering accounts to administer them or otherwise participate on Docker Hub. I did inquire about this here: https://github.com/docker/hub-feedback/issues/946 -- Mike Gerwitz Free Software Hacker+Activist | GNU Maintainer & Volunteer GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05 Old: 2217 5B02 E626 BC98 D7C0 C2E5 F22B B815 8EE3 0EAB https://mikegerwitz.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-02 2:53 ` Richard Stallman 2017-02-02 5:13 ` Mike Gerwitz @ 2017-02-02 14:21 ` Ted Zlatanov 2017-02-03 7:00 ` Stefan Reichör 2017-02-04 23:48 ` Richard Stallman 1 sibling, 2 replies; 126+ messages in thread From: Ted Zlatanov @ 2017-02-02 14:21 UTC (permalink / raw) To: emacs-devel On Wed, 01 Feb 2017 21:53:27 -0500 Richard Stallman <rms@gnu.org> wrote: >> I went to Docker Hub, turned off JS, and was able to use the settings >> dialogs necessary to maintain the "gnuemacs" account going forward. >> Account creation also seemed to work. RS> That's sounds favorable. But could you please compare notes with Mike RS> Gurwitz about what does or doesn't require nonfree JS code? You and RS> he are getting different results; the anomaly is troubling. Unfortunately I was rushed and meant to write "organization account creation" within an existing Docker Hub user account (you need one to create an organization). I did not test creating the user account. But I don't think any of that will make a difference. At this point I've lost interest and will not continue this work. I don't see a way to reconcile your positions with my reality, and can't change either. RS> Please don't try to push us to "move on" without establishing RS> the facts of the situation clearly. I think we can move on with other things now. Thanks Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-02 14:21 ` Ted Zlatanov @ 2017-02-03 7:00 ` Stefan Reichör 2017-02-03 11:18 ` Filipe Silva 2017-02-03 13:45 ` Ted Zlatanov 2017-02-04 23:48 ` Richard Stallman 1 sibling, 2 replies; 126+ messages in thread From: Stefan Reichör @ 2017-02-03 7:00 UTC (permalink / raw) To: emacs-devel Ted Zlatanov <tzz@lifelogs.com> writes: > On Wed, 01 Feb 2017 21:53:27 -0500 Richard Stallman <rms@gnu.org> wrote: > >>> I went to Docker Hub, turned off JS, and was able to use the settings >>> dialogs necessary to maintain the "gnuemacs" account going forward. >>> Account creation also seemed to work. > > RS> That's sounds favorable. But could you please compare notes with Mike > RS> Gurwitz about what does or doesn't require nonfree JS code? You and > RS> he are getting different results; the anomaly is troubling. > > Unfortunately I was rushed and meant to write "organization account > creation" within an existing Docker Hub user account (you need one to > create an organization). I did not test creating the user account. But I > don't think any of that will make a difference. > > At this point I've lost interest and will not continue this work. I > don't see a way to reconcile your positions with my reality, and can't > change either. > > RS> Please don't try to push us to "move on" without establishing > RS> the facts of the situation clearly. > > I think we can move on with other things now. > As a happy emacs user I am sad to see another good idea that helps to increase the visibility of emacs is shot down by this oh so important free software argument. For me it is the same thing that happened to the proposed improvements in intellisense behaviour. Richard wanted to talk to a lawyer about this. And nothing happened. The person that wanted to implement this stuff just resigned. Stefan. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-03 7:00 ` Stefan Reichör @ 2017-02-03 11:18 ` Filipe Silva 2017-02-04 2:56 ` Mike Gerwitz 2017-02-03 13:45 ` Ted Zlatanov 1 sibling, 1 reply; 126+ messages in thread From: Filipe Silva @ 2017-02-03 11:18 UTC (permalink / raw) To: Stefan Reichör; +Cc: Emacs developers [-- Attachment #1: Type: text/plain, Size: 2583 bytes --] Stefan, GNU/FSF is first a political/philosophical organisation before being a technical/software organization. The fact that they've managed to construct such an amazing piece of software, Emacs, is a miracle, but secondary to that primary characteristics. And don't be mistaken, that comes with advantages too. As a non-profit organisation, driven by philosophy, you can rest assured that emacs will be here essently forever while sublime text, visual studio code, and others will come and go. Mike Gerwitz, back to the topic, you've posted an issue on the github site, which is run with non-free software, and I'm pretty sure that it runs non-free javascript. The fact that you will be running "non-free" javascript seems a bit unescapeable, doesn't it? (I'm not trying to pick an argument, just trying to understand the philosophy) On Fri, Feb 3, 2017 at 5:00 AM, Stefan Reichör <stefan@xsteve.at> wrote: > Ted Zlatanov <tzz@lifelogs.com> writes: > > > On Wed, 01 Feb 2017 21:53:27 -0500 Richard Stallman <rms@gnu.org> wrote: > > > >>> I went to Docker Hub, turned off JS, and was able to use the settings > >>> dialogs necessary to maintain the "gnuemacs" account going forward. > >>> Account creation also seemed to work. > > > > RS> That's sounds favorable. But could you please compare notes with > Mike > > RS> Gurwitz about what does or doesn't require nonfree JS code? You and > > RS> he are getting different results; the anomaly is troubling. > > > > Unfortunately I was rushed and meant to write "organization account > > creation" within an existing Docker Hub user account (you need one to > > create an organization). I did not test creating the user account. But I > > don't think any of that will make a difference. > > > > At this point I've lost interest and will not continue this work. I > > don't see a way to reconcile your positions with my reality, and can't > > change either. > > > > RS> Please don't try to push us to "move on" without establishing > > RS> the facts of the situation clearly. > > > > I think we can move on with other things now. > > > > As a happy emacs user I am sad to see another good idea that helps to > increase the visibility of emacs is shot down by this oh so important > free software argument. > > For me it is the same thing that happened to the proposed improvements > in intellisense behaviour. Richard wanted to talk to a lawyer about > this. And nothing happened. The person that wanted to implement this > stuff just resigned. > > Stefan. > > > [-- Attachment #2: Type: text/html, Size: 3962 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-03 11:18 ` Filipe Silva @ 2017-02-04 2:56 ` Mike Gerwitz 0 siblings, 0 replies; 126+ messages in thread From: Mike Gerwitz @ 2017-02-04 2:56 UTC (permalink / raw) To: Filipe Silva; +Cc: Stefan Reichör, Emacs developers [-- Attachment #1: Type: text/plain, Size: 3462 bytes --] Hey, Filipe: On Fri, Feb 03, 2017 at 09:18:59 -0200, Filipe Silva wrote: > Mike Gerwitz, back to the topic, you've posted an issue on the github site, > which is run with non-free software, and I'm pretty sure that it runs > non-free javascript. The fact that you will be running "non-free" > javascript seems a bit unescapeable, doesn't it? I was expecting this point to come up. ;) I first want to state that I do not recommend that anyone make use of GitHub for their own projects. I have contacted them in the past asking them if they're liberate their JavaScript, and they stated that they have no interest in doing so: https://mikegerwitz.com/about/githubbub Further, GitHub does not meet the GNU Project's ethical repository criteria for those reasons and more: https://www.gnu.org/software/repo-criteria.html GitHub does serve and often relies on non-free JavaScript. Fortunately, many things happen to work without it, or work well enough. I do not run JavaScript in my browser even for sites with free JS, with very few exceptions. I'm able to log in to GitHub, open issues, and comment on issues without running any JavaScript, among other things. I don't use GitHub personally anymore aside from a mirror for certain projects (and my employer uses it, so I'll push liberated code here on their behalf), but in the past, there were certain things I'd have simply Greasemonkey scripts for. For example, you couldn't (and probably still can't) change the repository description without running non-free JS. So I briefly studied what I did and wrote a free replacement for that functionality (which was trivial). Now, as a direct parallel to this Docker Hub discussion: It isn't reasonable to register an account on GitHub without running non-free JS.[*] It happens that I registered an account a number of years back (2009) when I was still relatively new to the free software movement and didn't consider JS as a possible issue. Since I have an account and can use it without running non-free JS, I will use it when pressed. But I will never recommend that someone else create an account or otherwise use GitHub. Hopefully that answers you question. Just because a site serves non-free JS doesn't mean that it needs it. Websites would be wise and respectful to consider a progressive enhancement methodology.[0] [*] I was able to register a new account (which successfully logs in): The first registration page required no JS, and the second page didn't want to move forward because of HTML5 validations on hidden (Credit Card) fields. I removed those fields from the DOM and was able to continue successfully. This also worked over Tor and served no CAPTCHA. So I could trivially write a script/bookmarklet that a user could use to register, but I wouldn't want to do that, since they still rely on proprietary JS for so many other things. If I did _not_ have a GitHub account, and creating one were the only way I could report issues like this Docker Hub one for reasons of activism, I would create an account using this method. I have no such workaround for Docker Hub. [0]: https://en.wikipedia.org/wiki/Progressive_enhancement -- Mike Gerwitz Free Software Hacker+Activist | GNU Maintainer & Volunteer GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05 Old: 2217 5B02 E626 BC98 D7C0 C2E5 F22B B815 8EE3 0EAB https://mikegerwitz.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-03 7:00 ` Stefan Reichör 2017-02-03 11:18 ` Filipe Silva @ 2017-02-03 13:45 ` Ted Zlatanov 2017-02-03 21:59 ` Richard Stallman 1 sibling, 1 reply; 126+ messages in thread From: Ted Zlatanov @ 2017-02-03 13:45 UTC (permalink / raw) To: emacs-devel On Fri, 3 Feb 2017 09:18:59 -0200 Filipe Silva <filipe.silva@gmail.com> wrote: FS> Stefan, GNU/FSF is first a political/philosophical organisation before FS> being a technical/software organization. The fact that they've managed to FS> construct such an amazing piece of software, Emacs, is a miracle, but FS> secondary to that primary characteristics. ... FS> Mike Gerwitz, back to the topic, you've posted an issue on the github site, FS> which is run with non-free software, and I'm pretty sure that it runs FS> non-free javascript. The fact that you will be running "non-free" FS> javascript seems a bit unescapeable, doesn't it? This discrepancy between principles and reality is exactly what I was referring to. It's not Mike Gerwitz specifically, but the reality is that there is a vast majority of free software advocates that uses websites without concern for the Javascript licenses. So the *FSF principles* that are in reality not observed are blocking a vitally important way for the *GNU Emacs project* (note they are not the same organization, so Filipe's merging them somewhat inaccurately) to reach users, because of a setup step invisible to those users. Look, principled opposition taken to an extreme is self-defeating. Imagine if vegans refused to *visit* vegetarians' houses and breathe their air because they are not pure enough. Meanwhile the slaughterhouses are running next door. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-03 13:45 ` Ted Zlatanov @ 2017-02-03 21:59 ` Richard Stallman 2017-02-03 23:38 ` Ted Zlatanov 0 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2017-02-03 21:59 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > It's not Mike Gerwitz specifically, but the reality is > that there is a vast majority of free software advocates that uses > websites without concern for the Javascript licenses. It is true that most of them do this. That is why it is vital for the FSF to spread the message that this is a bad thing to do. In order to do that without being hypocritical, we have to set an example of doing what we say is right. > So the *FSF > principles* that are in reality not observed are blocking a vitally > important way for the *GNU Emacs project* Distributing docker images is hardly a vital issue. But this is not about whether to distribute docker images; we can certainly do that one way or another. This is just about _how_ to distribute them. Developing GNU Emacs is a part of the GNU Project. Winning freedom, defeating proprietary injustice, is its purpose. That's why I wrote GNU Emacs in the first place. You don't seem to value this purpose very much, so you resent that it is the basis for our decisions. But that has to be the basis. > Look, principled opposition taken to an extreme is self-defeating. > Imagine if vegans refused to *visit* vegetarians' houses and breathe > their air because they are not pure enough. Aside from the visible exaggeration, it's a bad analogy. For a better analogy, imagine that the habitants of those houses demanded that every visitor eat some meat at the door in order to be allowed in. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-03 21:59 ` Richard Stallman @ 2017-02-03 23:38 ` Ted Zlatanov 2017-02-03 23:54 ` Jean-Christophe Helary 2017-02-04 3:11 ` Mike Gerwitz 0 siblings, 2 replies; 126+ messages in thread From: Ted Zlatanov @ 2017-02-03 23:38 UTC (permalink / raw) To: emacs-devel On Fri, 03 Feb 2017 16:59:25 -0500 Richard Stallman <rms@gnu.org> wrote: >> the reality is that there is a vast majority of free software >> advocates that uses websites without concern for the Javascript >> licenses. RS> That is why it is vital for the FSF to spread the message that this RS> is a bad thing to do. In order to do that without being hypocritical, RS> we have to set an example of doing what we say is right. ... RS> Developing GNU Emacs is a part of the GNU Project. RS> Winning freedom, defeating proprietary injustice, is its purpose. RS> That's why I wrote GNU Emacs in the first place. RS> You don't seem to value this purpose very much, so you resent that it RS> is the basis for our decisions. But that has to be the basis. Your implicit assumption here is that if any part of a service involves nonfree software (in this case, Docker Hub account registration and maintenance), then using any other part of the service (in this case, Docker Hub as an image repository) is against this purpose. That specific assumption, in my opinion, is overreaching and does not serve the original purpose you quoted, yet it has become an important argument for the FSF. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-03 23:38 ` Ted Zlatanov @ 2017-02-03 23:54 ` Jean-Christophe Helary 2017-02-04 0:37 ` Filipe Silva 2017-02-04 3:11 ` Mike Gerwitz 1 sibling, 1 reply; 126+ messages in thread From: Jean-Christophe Helary @ 2017-02-03 23:54 UTC (permalink / raw) To: emacs-devel, Ted Zlatanov > 2017/02/04 8:38、Ted Zlatanov <tzz@lifelogs.com>のメール: > Your implicit assumption here is that if any part of a service involves > nonfree software (in this case, Docker Hub account registration and > maintenance), then using any other part of the service (in this case, > Docker Hub as an image repository) is against this purpose. > > That specific assumption, in my opinion, is overreaching and does not > serve the original purpose you quoted, yet it has become an important > argument for the FSF. Instead of arguing here, why don't you ask Docker Hub why they require non-free software for such a trivial task and try to convince them to not do that? *That* would better promote free software than having Emacs hosted there while ignoring the non-free aspects of the system. A much better way to spend your energy in my opinion. Jean-Christophe Helary ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-03 23:54 ` Jean-Christophe Helary @ 2017-02-04 0:37 ` Filipe Silva 2017-02-04 1:12 ` Jean-Christophe Helary 2017-02-04 23:54 ` Richard Stallman 0 siblings, 2 replies; 126+ messages in thread From: Filipe Silva @ 2017-02-04 0:37 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: Ted Zlatanov, Emacs developers [-- Attachment #1: Type: text/plain, Size: 4161 bytes --] Sometimes people minify js to make better usage of the network, not because they want to hide from you the js source code to gain more power over you as a user. There's no practical way to run your specific modified version of js in a browser to customize your own site experience because the js code is just a tailor made client for the site's server code. Look this way: They could have rendered the whole html that you see in the server side, and still there are tons of websites that do that. and in that case you would have just the bare html and css in your hands, which doesn't change the fact that you are using non-free software that generates that html; still you wouldn't have a problem with that because "you're not running non-free js code on your browser". but instead they chose to split the software: they hand it to your browser a piece of the software in js so that you can have a more dynamic experience. As a plus your browser doesn't have to call the server all the time to generate an updated DOM. Now UI logic can be very hard and complex so instead of handing you a plain js file which can be many KBs long, they minify it, and maybe gzip it so they can better use the network resources, potentially saving energy for the benefit off all mankind. I see this way: It's just a website, but now some of the server's code is offloaded to the browser by means of js. But it is still a website. I don't think it is reasonable asking every website to stop minifying the js and to provide a way to submit a custom modified form of js client code that interacts with the website in a customized way. That would require to also release the server code, which would mean that to be free all websites that deliver js client code to web browsers would have to release their server code. Can you all see the problem here? js client code is not the same thing as regular installed on my pc software. I have to trust my libre browser, which is in fact installed on my local computer and which I can modify and inspect the source code. I trust that it is written in a way that stops client js code from doing harm to my privacy and freedom. We have different classes of software here. Software fully installed locally on my machine is one class of software. Server software, which is not running on my machine is a different kind of software. And software that is split between server software and client software *running in a libre sandboxed environment installed on my machine* is another class of software entirely. I would assert that each class of software described above brings about different philosophical and ethical questions and deserve to be differently treated. For starters, I would argue that a js client code, *running on my libre sandboxed browser environment*, which is really just a part of a much larger software, which is a website, does not harm my freedom and my privacy as long as the libre browser is properly constructed to properly handle js client code. Doesn't this proposition seem reasonable to you gentleman? Filipe On Fri, Feb 3, 2017 at 9:54 PM, Jean-Christophe Helary < jean.christophe.helary@gmail.com> wrote: > > 2017/02/04 8:38、Ted Zlatanov <tzz@lifelogs.com>のメール: > > > Your implicit assumption here is that if any part of a service involves > > nonfree software (in this case, Docker Hub account registration and > > maintenance), then using any other part of the service (in this case, > > Docker Hub as an image repository) is against this purpose. > > > > That specific assumption, in my opinion, is overreaching and does not > > serve the original purpose you quoted, yet it has become an important > > argument for the FSF. > > Instead of arguing here, why don't you ask Docker Hub why they require > non-free software for such a trivial task and try to convince them to not > do that? > *That* would better promote free software than having Emacs hosted there > while ignoring the non-free aspects of the system. > A much better way to spend your energy in my opinion. > > Jean-Christophe Helary > [-- Attachment #2: Type: text/html, Size: 6465 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 0:37 ` Filipe Silva @ 2017-02-04 1:12 ` Jean-Christophe Helary 2017-02-04 1:32 ` Filipe Silva 2017-02-04 23:52 ` Richard Stallman 2017-02-04 23:54 ` Richard Stallman 1 sibling, 2 replies; 126+ messages in thread From: Jean-Christophe Helary @ 2017-02-04 1:12 UTC (permalink / raw) To: Filipe Silva; +Cc: Ted Zlatanov, Emacs developers > 2017/02/04 9:37、Filipe Silva <filipe.silva@gmail.com>のメール: > > Sometimes people minify js to make better usage of the network, That's totally unrelated to the issue. Free software is not "non minified" software. It is software available under a specific licence. Any "minified" js code can be free software if available under such a licence. Jean-Christophe Helary ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 1:12 ` Jean-Christophe Helary @ 2017-02-04 1:32 ` Filipe Silva 2017-02-04 23:52 ` Richard Stallman 1 sibling, 0 replies; 126+ messages in thread From: Filipe Silva @ 2017-02-04 1:32 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: Ted Zlatanov, Emacs developers [-- Attachment #1: Type: text/plain, Size: 556 bytes --] that's one nitpick over my many points. On Fri, Feb 3, 2017 at 11:12 PM, Jean-Christophe Helary < jean.christophe.helary@gmail.com> wrote: > > > 2017/02/04 9:37、Filipe Silva <filipe.silva@gmail.com>のメール: > > > > Sometimes people minify js to make better usage of the network, > > That's totally unrelated to the issue. Free software is not "non minified" > software. It is software available under a specific licence. > Any "minified" js code can be free software if available under such a > licence. > > Jean-Christophe Helary [-- Attachment #2: Type: text/html, Size: 1107 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 1:12 ` Jean-Christophe Helary 2017-02-04 1:32 ` Filipe Silva @ 2017-02-04 23:52 ` Richard Stallman 2017-02-05 0:24 ` Jean-Christophe Helary 1 sibling, 1 reply; 126+ messages in thread From: Richard Stallman @ 2017-02-04 23:52 UTC (permalink / raw) To: Jean-Christophe Helary; +Cc: tzz, emacs-devel, filipe.silva [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > That's totally unrelated to the issue. Free software is not "non minified" software. It is software available under a specific licence. > Any "minified" js code can be free software if available under such a licence. Actually, _both_ of these criteria are necessary. To be free, a Javascript program must be (1) covered by some free software license (see https://gnu.org/philosophy/free-sw.html and https://gnu.org/licenses/license-list.html) and (2) available in souce code form. Source code means the preferred form of the code for editing it. Obfuscated code (including minified Javascript code) is not source code. It is a kind of compiled code. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 23:52 ` Richard Stallman @ 2017-02-05 0:24 ` Jean-Christophe Helary 0 siblings, 0 replies; 126+ messages in thread From: Jean-Christophe Helary @ 2017-02-05 0:24 UTC (permalink / raw) To: rms; +Cc: tzz, emacs-devel, filipe.silva > 2017/02/05 8:52、Richard Stallman <rms@gnu.org>のメール: > > Source code means the preferred form of the code for editing it. > Obfuscated code (including minified Javascript code) is not source > code. It is a kind of compiled code. Apologies if my wording was unclear. Since a Free licence implies access to editable source code, the following: > Any "minified" js code can be free software if available under such a licence. meant for me that we have access to a readable version of the source code, which exclude obfuscated code. Jean-Christophe Helary ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 0:37 ` Filipe Silva 2017-02-04 1:12 ` Jean-Christophe Helary @ 2017-02-04 23:54 ` Richard Stallman 1 sibling, 0 replies; 126+ messages in thread From: Richard Stallman @ 2017-02-04 23:54 UTC (permalink / raw) To: Filipe Silva; +Cc: tzz, jean.christophe.helary, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Look this way: They could have rendered the whole html that you see in the > server side, and still there are tons of websites that do that. and in that > case you would have just the bare html and css in your hands, That's the way they SHOULD do it. which doesn't > change the fact that you are using non-free software that generates that > html; No you aren't. That code isn't working for you. It's working for the owner of the web server, and that's who should have control over it. > but instead they chose to split the software: they hand it to your browser > a piece of the software in js so that you can have a more dynamic > experience. That's exactly what's wrong: trying to run their code on my computer, without giving me control over it. I don't expect or ask to have control over the code that runs on their web server. That code is doing their computing(*), so I think they ought to have control over it. I don't have a copy of it in any form -- neither source nor binary. However, I insist on having control over the code that runs on my computer. It has to be free, and I should be able to install a different version and change it. > I trust that > it is written in a way that stops client js code from doing harm to my > privacy and freedom. If you're running it and you don't have control over it, that is denying you freedom. See https://gnu.org/philosophy/javascript-trap.html. * That's nornally the case, but there are exceptions. If that code is doing my computing, then it is SaaSS, which is wrong. See https://gnu.org/philosophy/who-does-that-server-really-serve.html. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-03 23:38 ` Ted Zlatanov 2017-02-03 23:54 ` Jean-Christophe Helary @ 2017-02-04 3:11 ` Mike Gerwitz 2017-02-04 4:13 ` Ted Zlatanov 1 sibling, 1 reply; 126+ messages in thread From: Mike Gerwitz @ 2017-02-04 3:11 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1580 bytes --] On Fri, Feb 03, 2017 at 18:38:41 -0500, Ted Zlatanov wrote: > Your implicit assumption here is that if any part of a service involves > nonfree software (in this case, Docker Hub account registration and > maintenance), then using any other part of the service (in this case, > Docker Hub as an image repository) is against this purpose. If using X involves temporarily setting aside freedom, then that harms your freedom, but that's your choice. But if you then ask others to use X, and therefore temporarily set aside their freedoms, that is a different situation entirely. Further, complacency in that action from a large enough group will cement it; we need people to speak out against those types of things so that they stop happening. If there is an alternative means to register with Docker Hub, then perhaps it wouldn't be a barrier, because we wouldn't have to ask others to temporarily surrender their freedoms. For example, if Docker Hub offered a register@hub.docker.com e-mail address where someone manually registered an account on your behalf to circumvent the issue, then it wouldn't be a problem for as long as that e-mail service remained available to others. If someone developed a free replacement for their proprietary JS that allowed for registration, it wouldn't be an issue for as long as that script works. -- Mike Gerwitz Free Software Hacker+Activist | GNU Maintainer & Volunteer GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05 Old: 2217 5B02 E626 BC98 D7C0 C2E5 F22B B815 8EE3 0EAB https://mikegerwitz.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 3:11 ` Mike Gerwitz @ 2017-02-04 4:13 ` Ted Zlatanov 2017-02-04 4:47 ` Mike Gerwitz 2017-02-04 23:54 ` Richard Stallman 0 siblings, 2 replies; 126+ messages in thread From: Ted Zlatanov @ 2017-02-04 4:13 UTC (permalink / raw) To: emacs-devel On Fri, 03 Feb 2017 22:11:31 -0500 Mike Gerwitz <mtg@gnu.org> wrote: MG> On Fri, Feb 03, 2017 at 18:38:41 -0500, Ted Zlatanov wrote: >> Your implicit assumption here is that if any part of a service involves >> nonfree software (in this case, Docker Hub account registration and >> maintenance), then using any other part of the service (in this case, >> Docker Hub as an image repository) is against this purpose. MG> If using X involves temporarily setting aside freedom, then that harms MG> your freedom, but that's your choice. But if you then ask others to use MG> X, and therefore temporarily set aside their freedoms, that is a MG> different situation entirely. Mike, I understand all of that. The assumption RMS and others are making is that we're talking about the same X, as I said in the text you quoted. That's what I mean by "overreaching": the assumption is that any non-free software in a service (in this case, a web site) contaminates any other part of the service (in this case, an image repository). Coming back to the vegan/vegetarian analogy, if I eat non-vegan foods in my house but not while you visit, does that mean you can never be a guest in my house? This is not an extreme analogy: we're literally excluding tools, people, and communities because of things they choose to do outside of our domain. MG> If there is an alternative means to register with Docker Hub, then MG> perhaps it wouldn't be a barrier, because we wouldn't have to ask others MG> to temporarily surrender their freedoms. That would legitimize the assumption I'm questioning, so I would rather not divert the discussion down that path. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 4:13 ` Ted Zlatanov @ 2017-02-04 4:47 ` Mike Gerwitz 2017-02-06 10:49 ` Giuseppe Scrivano 2017-02-04 23:54 ` Richard Stallman 1 sibling, 1 reply; 126+ messages in thread From: Mike Gerwitz @ 2017-02-04 4:47 UTC (permalink / raw) To: emacs-devel [-- Attachment #1: Type: text/plain, Size: 1954 bytes --] On Fri, Feb 03, 2017 at 23:13:58 -0500, Ted Zlatanov wrote: > Mike, I understand all of that. The assumption RMS and others are making > is that we're talking about the same X, as I said in the text you > quoted. That's what I mean by "overreaching": the assumption is that any > non-free software in a service (in this case, a web site) contaminates > any other part of the service (in this case, an image repository). The use of the underlying repository ("registry") is fine: it doesn't require any non-free software. I can use any image in the Docker Hub repository without any ethical concerns. If there's an Emacs docker image, then I as a user of that image lose nothing freedom-wise. The problem is that to upload an image you need an account on Docker Hub. And to register that account, you need to go to hub.docker.com, which requires that you run a non-free JavaScript program. So it's only the JavaScript program on hub.docker.com that's bad. Unfortunately, it's a necessary step to get the Emacs image into the repository to begin with. So I think we might be in agreement: there's nothing wrong with the registry. > Coming back to the vegan/vegetarian analogy, if I eat non-vegan foods in > my house but not while you visit, does that mean you can never be a > guest in my house? This is not an extreme analogy: we're literally > excluding tools, people, and communities because of things they choose > to do outside of our domain. In rms' analogy, your house would be a place to share vegan meals, but to bring a meal to share with others, you must first try a dish containing meat. But if you're not bringing a dish to share, you can simply enter and enjoy the festivities. -- Mike Gerwitz Free Software Hacker+Activist | GNU Maintainer & Volunteer GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05 Old: 2217 5B02 E626 BC98 D7C0 C2E5 F22B B815 8EE3 0EAB https://mikegerwitz.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 4:47 ` Mike Gerwitz @ 2017-02-06 10:49 ` Giuseppe Scrivano 2017-02-13 8:37 ` Richard Stallman 2017-02-14 2:04 ` Mike Gerwitz 0 siblings, 2 replies; 126+ messages in thread From: Giuseppe Scrivano @ 2017-02-06 10:49 UTC (permalink / raw) To: Mike Gerwitz; +Cc: emacs-devel Mike Gerwitz <mtg@gnu.org> writes: > The problem is that to upload an image you need an account on Docker > Hub. And to register that account, you need to go to hub.docker.com, > which requires that you run a non-free JavaScript program. While the registration page doesn't work without JS, from a quick view I can see only some trivial JS code there. I thought it was fine to not consider such code as a program. Or is there anything more than that? Regards, Giuseppe ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-06 10:49 ` Giuseppe Scrivano @ 2017-02-13 8:37 ` Richard Stallman 2017-02-13 9:55 ` Giuseppe Scrivano 2017-02-14 2:04 ` Mike Gerwitz 1 sibling, 1 reply; 126+ messages in thread From: Richard Stallman @ 2017-02-13 8:37 UTC (permalink / raw) To: Giuseppe Scrivano; +Cc: mtg, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] Please forgive me for taking a week to answer. > While the registration page doesn't work without JS, from a quick view I > can see only some trivial JS code there. I thought it was fine to not > consider such code as a program. Or is there anything more than that? Maybe. Could you try accessing that using LibreJS and see if it says that code is trivial? Can you show us the complete JS code involved? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-13 8:37 ` Richard Stallman @ 2017-02-13 9:55 ` Giuseppe Scrivano 2017-02-14 0:48 ` Richard Stallman 0 siblings, 1 reply; 126+ messages in thread From: Giuseppe Scrivano @ 2017-02-13 9:55 UTC (permalink / raw) To: Richard Stallman; +Cc: mtg, emacs-devel Richard Stallman <rms@gnu.org> writes: > [[[ To any NSA and FBI agents reading my email: please consider ]]] > [[[ whether defending the US Constitution against all enemies, ]]] > [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > > Please forgive me for taking a week to answer. > > > While the registration page doesn't work without JS, from a quick view I > > can see only some trivial JS code there. I thought it was fine to not > > consider such code as a program. Or is there anything more than that? > > Maybe. Could you try accessing that using LibreJS and see if it says > that code is trivial? > > Can you show us the complete JS code involved? LibreJS reports these three chunks of code: ( function(w,d,s,l,i){ w[l]=w[l]||[]; w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'}); var f=d.getElementsByTagName(s)[0], j=d.createElement(s), dl=l!='dataLayer'?'&l='+l:''; j.async=true; j.src='//www.googletagmanager.com/gtm.js?id='+i+dl; f.parentNode.insertBefore(j,f); } )(window,document,'script','dataLayer','GTM-KB4JTX'); ///////////////////////////////////////////////////////////////////////// ( function(){ window._pxAppId ='PXPmP8ILuI'; window._pxPubHost = 'collector.a'; var p = document.getElementsByTagName('script')[0], s = document.createElement('script'); s.async = 1; s.src = '//client.a.pxi.pub/PXPmP8ILuI/main.min.js'; p.parentNode.insertBefore(s,p); }()); ///////////////////////////////////////////////////////////////////////// window.App={"context":{"dispatcher":{"stores":{"SSOStore":{"isSSOEnabled":true},"ApplicationStore":{"route":{"routes":[{"name":"app","component":function StoreConnector(props, context) { React.Component.apply(this, arguments); this.state = this.getStateFromStores(); this._onStoreChange = null; this._isMounted = false; },"childRoutes":[{"name":"login","path":"\u002Flogin\u002F","component":function (props, context, updater) { // This constructor is overridden by mocks. The argument is used // by mocks to assert on what gets mounted. if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : undefined; } // Wire up auto-binding if (this.__reactAutoBindMap) { bindAutoBindMethods(this); } this.pr… Regards, Giuseppe ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-13 9:55 ` Giuseppe Scrivano @ 2017-02-14 0:48 ` Richard Stallman 2017-02-14 2:07 ` Mike Gerwitz 0 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2017-02-14 0:48 UTC (permalink / raw) To: Giuseppe Scrivano; +Cc: mtg, rms, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > ( > function(w,d,s,l,i){ > w[l]=w[l]||[]; > w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'}); > var f=d.getElementsByTagName(s)[0], > j=d.createElement(s), > dl=l!='dataLayer'?'&l='+l:''; > j.async=true; > j.src='//www.googletagmanager.com/gtm.js?id='+i+dl; > f.parentNode.insertBefore(j,f); > } > )(window,document,'script','dataLayer','GTM-KB4JTX'); That appears to be spywaqre, and there should be no problem if it does not execute. > ( > function(){ > window._pxAppId ='PXPmP8ILuI'; > window._pxPubHost = 'collector.a'; > var p = document.getElementsByTagName('script')[0], > s = document.createElement('script'); > s.async = 1; > s.src = '//client.a.pxi.pub/PXPmP8ILuI/main.min.js'; > p.parentNode.insertBefore(s,p); > }()); I'd say that is trivial. What doesw LibreJS say about it? > window.App={"context":{"dispatcher":{"stores":{"SSOStore":{"isSSOEnabled":true},"ApplicationStore":{"route":{"routes":[{"name":"app","component":function StoreConnector(props, context) { > React.Component.apply(this, arguments); > this.state = this.getStateFromStores(); > this._onStoreChange = null; > this._isMounted = false; > },"childRoutes":[{"name":"login","path":"\u002Flogin\u002F","component":function (props, context, updater) { > // This constructor is overridden by mocks. The argument is used > // by mocks to assert on what gets mounted. > if (process.env.NODE_ENV !== 'production') { > process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : undefined; > } > // Wire up auto-binding > if (this.__reactAutoBindMap) { > bindAutoBindMethods(this); > } > this.pr… This seems to break off in the middle -- what's the rest? I think it is nontrivial. But I can't imagine why they would object to putting a free license on it. Can someone please ask them? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-14 0:48 ` Richard Stallman @ 2017-02-14 2:07 ` Mike Gerwitz 0 siblings, 0 replies; 126+ messages in thread From: Mike Gerwitz @ 2017-02-14 2:07 UTC (permalink / raw) To: Richard Stallman; +Cc: Giuseppe Scrivano, emacs-devel [-- Attachment #1: Type: text/plain, Size: 694 bytes --] On Mon, Feb 13, 2017 at 19:48:41 -0500, Richard Stallman wrote: > I think it is nontrivial. But I can't imagine why they would > object to putting a free license on it. Can someone please ask them? (See my previous message---there's a lot of potentially non-free code.) I asked them on the 1st of this month. Not even an acknowledgment: https://github.com/docker/hub-feedback/issues/946 Surely there is someone on this list who knows a Docker developer. -- Mike Gerwitz Free Software Hacker+Activist | GNU Maintainer & Volunteer GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05 Old: 2217 5B02 E626 BC98 D7C0 C2E5 F22B B815 8EE3 0EAB https://mikegerwitz.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-06 10:49 ` Giuseppe Scrivano 2017-02-13 8:37 ` Richard Stallman @ 2017-02-14 2:04 ` Mike Gerwitz 1 sibling, 0 replies; 126+ messages in thread From: Mike Gerwitz @ 2017-02-14 2:04 UTC (permalink / raw) To: Giuseppe Scrivano; +Cc: Richard Stallman, emacs-devel [-- Attachment #1: Type: text/plain, Size: 1381 bytes --] Giuseppe: On Mon, Feb 06, 2017 at 11:49:03 +0100, Giuseppe Scrivano wrote: > While the registration page doesn't work without JS, from a quick view I > can see only some trivial JS code there. I thought it was fine to not > consider such code as a program. Or is there anything more than that? Sorry, I had been meaning to reply to this for a while; I've been a bit behind. hub.docker.com actually loads a great deal of proprietary/unlicensed JavaScript: The hub.docker.com index alone has ~45K of JS: $ curl -s https://hub.docker.com \ | tr -d '\n' \ | grep -oP '<script>.*?</script>' \ | wc -c 45039 It loads a 3.97MB /public/js/client.*.js ("*" being a hash), which is a minified and concatenated file containing a huge number of individual scripts, which can be seen by loading it in your browser's debugger (so long as it has source map support). Some of them are shared (and free) libraries, many are Docker Hub code. There is JS loaded on their account site as well, which the user is redirected to on login. I don't have my work account password atm, so I'm not going to dig into that right now. -- Mike Gerwitz Free Software Hacker+Activist | GNU Maintainer & Volunteer GPG: D6E9 B930 028A 6C38 F43B 2388 FEF6 3574 5E6F 6D05 Old: 2217 5B02 E626 BC98 D7C0 C2E5 F22B B815 8EE3 0EAB https://mikegerwitz.com [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 818 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 4:13 ` Ted Zlatanov 2017-02-04 4:47 ` Mike Gerwitz @ 2017-02-04 23:54 ` Richard Stallman 2017-02-05 0:47 ` Ted Zlatanov 1 sibling, 1 reply; 126+ messages in thread From: Richard Stallman @ 2017-02-04 23:54 UTC (permalink / raw) To: Ted Zlatanov; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Mike, I understand all of that. The assumption RMS and others are making > is that we're talking about the same X, as I said in the text you > quoted. I don't KNOW which entities are involved and what each one does. I don't know which of them require nonfree javascropt. I've asked repeatedly for clarification about this, but I haven't seen a clear self-contained complete description of what these various Docker entities are and what job each one does. I've seen a number of partial descriptions, but I can't fit them together. That's why I keep making statements with if conditions. Those conditions are about the relationships I don't know. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-04 23:54 ` Richard Stallman @ 2017-02-05 0:47 ` Ted Zlatanov 0 siblings, 0 replies; 126+ messages in thread From: Ted Zlatanov @ 2017-02-05 0:47 UTC (permalink / raw) To: emacs-devel On Sat, 04 Feb 2017 18:48:55 -0500 Richard Stallman <rms@gnu.org> wrote: >> At this point I've lost interest and will not continue this work. I >> don't see a way to reconcile your positions with my reality, RS> We share the same reality. The clash is between your values and the RS> GNU Project values. I'm sorry you feel that way and sincerely hope we are done with this topic. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-02 14:21 ` Ted Zlatanov 2017-02-03 7:00 ` Stefan Reichör @ 2017-02-04 23:48 ` Richard Stallman 1 sibling, 0 replies; 126+ messages in thread From: Richard Stallman @ 2017-02-04 23:48 UTC (permalink / raw) To: emacs-devel; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > At this point I've lost interest and will not continue this work. I > don't see a way to reconcile your positions with my reality, We share the same reality. The clash is between your values and the GNU Project values. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-27 14:56 ` Ted Zlatanov 2017-01-27 19:45 ` Filipe Silva @ 2017-01-28 2:18 ` Richard Stallman 2017-02-21 15:01 ` Philippe Vaucher 2 siblings, 0 replies; 126+ messages in thread From: Richard Stallman @ 2017-01-28 2:18 UTC (permalink / raw) To: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > After talking to RMS, I created https://hub.docker.com/u/fsfemacs and am > currently the owner of the organization. The image, when ready, will be > "fsfemacs/emacs". I named it that way to emphasize the FSF organization, > rather than "gnuemacs" which would emphasize the GNU project. For this activity it is more correct to emphasize GNU rather than the FSF. -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-27 14:56 ` Ted Zlatanov 2017-01-27 19:45 ` Filipe Silva 2017-01-28 2:18 ` Richard Stallman @ 2017-02-21 15:01 ` Philippe Vaucher 2017-03-02 15:03 ` Ted Zlatanov 2 siblings, 1 reply; 126+ messages in thread From: Philippe Vaucher @ 2017-02-21 15:01 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 423 bytes --] > > If you're interested in collaborating on a Dockerfile that builds 24.x > and 25.x/master, let me know here or in e-mail. If you have one already, > even better. > Here is the one I used when emacs did still build in a docker https://github.com/Silex/docker-emacs/blob/master/24.5/Dockerfile It was meant to be used like "docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix silex/emacs" Philippe [-- Attachment #2: Type: text/html, Size: 812 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-02-21 15:01 ` Philippe Vaucher @ 2017-03-02 15:03 ` Ted Zlatanov 2017-03-03 10:09 ` Philippe Vaucher 0 siblings, 1 reply; 126+ messages in thread From: Ted Zlatanov @ 2017-03-02 15:03 UTC (permalink / raw) To: emacs-devel On Tue, 21 Feb 2017 16:01:22 +0100 Philippe Vaucher <philippe.vaucher@gmail.com> wrote: >> If you're interested in collaborating on a Dockerfile that builds 24.x >> and 25.x/master, let me know here or in e-mail. If you have one already, >> even better. PV> Here is the one I used when emacs did still build in a docker PV> https://github.com/Silex/docker-emacs/blob/master/24.5/Dockerfile PV> It was meant to be used like "docker run -it --rm -e DISPLAY=$DISPLAY -v PV> /tmp/.X11-unix:/tmp/.X11-unix silex/emacs" Thank you, Philippe. I'll be glad to maintain and publish an *unofficial* Emacs Docker image with your help, once 25.x can build inside Docker. For now I guess it's not possible? Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-03-02 15:03 ` Ted Zlatanov @ 2017-03-03 10:09 ` Philippe Vaucher 2017-03-03 10:15 ` Philippe Vaucher 0 siblings, 1 reply; 126+ messages in thread From: Philippe Vaucher @ 2017-03-03 10:09 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 718 bytes --] > > Thank you, Philippe. I'll be glad to maintain and publish an *unofficial* > Emacs Docker image with your help, once 25.x can build inside Docker. > For now I guess it's not possible? > For now it's only possible in two ways: - "manually": by building docker on the host and copying the binaries inside the image, then pushing to the docker hub. - By using my Dockerfile but disabling /proc/sys/kernel/randomize_va_space, and then pushing the image. Both of these solutions are not good in that they don't use the automated build feature of the docker hub. Ideally, you could simply push the Dockerfile inside the emacs repo and the docker hub would build emacs for each new tag/branch automatically. Philippe [-- Attachment #2: Type: text/html, Size: 1096 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-03-03 10:09 ` Philippe Vaucher @ 2017-03-03 10:15 ` Philippe Vaucher 2017-03-08 20:30 ` Philippe Vaucher 0 siblings, 1 reply; 126+ messages in thread From: Philippe Vaucher @ 2017-03-03 10:15 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 427 bytes --] > > - By using my Dockerfile but disabling /proc/sys/kernel/randomize_va_space, > and then pushing the image. > Well, I just had some kind of epiphany when explaining that to you I then asked myself: "why don't I do that?" I think I'll resume my project, something that monitors the emacs repository and builds-push docker images to the docker hub when necessary. It'll contain images for 24.3+ and latest master. Philippe [-- Attachment #2: Type: text/html, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-03-03 10:15 ` Philippe Vaucher @ 2017-03-08 20:30 ` Philippe Vaucher 2017-03-13 10:03 ` Philippe Vaucher 2018-04-04 18:33 ` Philippe Vaucher 0 siblings, 2 replies; 126+ messages in thread From: Philippe Vaucher @ 2017-03-08 20:30 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 411 bytes --] > > I think I'll resume my project, something that monitors the emacs > repository and builds-push docker images to the docker hub when necessary. > It'll contain images for 24.3+ and latest master. > For information, https://hub.docker.com/r/silex/emacs/ is up & running. Offered images are 24.3, 24.4, 24.5, 25.1 and master branch. I plan on adding `*-rc1` images, allowing people to test early. Philippe [-- Attachment #2: Type: text/html, Size: 892 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-03-08 20:30 ` Philippe Vaucher @ 2017-03-13 10:03 ` Philippe Vaucher 2018-04-04 18:33 ` Philippe Vaucher 1 sibling, 0 replies; 126+ messages in thread From: Philippe Vaucher @ 2017-03-13 10:03 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 142 bytes --] > > Offered images are 24.3, 24.4, 24.5, 25.1 and master branch. > Added `25.2-rc2` image at https://hub.docker.com/r/silex/emacs. Philippe [-- Attachment #2: Type: text/html, Size: 615 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-03-08 20:30 ` Philippe Vaucher 2017-03-13 10:03 ` Philippe Vaucher @ 2018-04-04 18:33 ` Philippe Vaucher 1 sibling, 0 replies; 126+ messages in thread From: Philippe Vaucher @ 2018-04-04 18:33 UTC (permalink / raw) To: Emacs developers [-- Attachment #1: Type: text/plain, Size: 404 bytes --] > > For information, https://hub.docker.com/r/silex/emacs is up & running. >> > Hello, I thought it might interest some that quite some work was done recently, there is now images from 23.4 and upward (including master and 26.0.91), `-alpine` variants, `-dev` variants that contains the Emacs source, the dev tools & Cask so they can be easily used to build other variants, etc. Kind regards, Philippe [-- Attachment #2: Type: text/html, Size: 1138 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 21:36 ` Richard Stallman 2016-12-30 22:01 ` joakim 2016-12-30 22:08 ` John Wiegley @ 2016-12-31 22:04 ` Ricardo Wurmus 2017-01-01 5:39 ` Elias Mårtenson 2 siblings, 1 reply; 126+ messages in thread From: Ricardo Wurmus @ 2016-12-31 22:04 UTC (permalink / raw) To: rms; +Cc: John Wiegley, emacs-devel Richard Stallman <rms@gnu.org> writes: > However, I don't see any ethical issue about making and distributing > Docker images of Emacs as long as we get the details right: for > instance, use an endorsed free GNU/Linux distro. We could use Guix to generate the image contents from scratch, i.e. we wouldn’t even have to use a “base image” (usually a minimal GNU/Linux system). The idea is to export the package closure for the “emacs” package from the Guix store (this includes all runtime dependencies) and wrap up the files in a plain docker image. 200MB is quite optimistic, though. A fully functional GTK+ installation with all dependencies is already larger than that. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC http://elephly.net ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-31 22:04 ` Ricardo Wurmus @ 2017-01-01 5:39 ` Elias Mårtenson 2017-01-01 9:03 ` Ricardo Wurmus 0 siblings, 1 reply; 126+ messages in thread From: Elias Mårtenson @ 2017-01-01 5:39 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: John Wiegley, Richard Stallman, emacs-devel [-- Attachment #1: Type: text/plain, Size: 779 bytes --] On 1 January 2017 at 06:04, Ricardo Wurmus <rekado@elephly.net> wrote: > > Richard Stallman <rms@gnu.org> writes: > > > However, I don't see any ethical issue about making and distributing > > Docker images of Emacs as long as we get the details right: for > > instance, use an endorsed free GNU/Linux distro. > > We could use Guix to generate the image contents from scratch, i.e. we > wouldn’t even have to use a “base image” (usually a minimal GNU/Linux > system). The idea is to export the package closure for the “emacs” > package from the Guix store (this includes all runtime dependencies) and > wrap up the files in a plain docker image. > Arguably there should be a fully free distribution that could be the base for more than just Emacs. [-- Attachment #2: Type: text/html, Size: 1182 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-01 5:39 ` Elias Mårtenson @ 2017-01-01 9:03 ` Ricardo Wurmus 2017-01-01 10:15 ` Elias Mårtenson 0 siblings, 1 reply; 126+ messages in thread From: Ricardo Wurmus @ 2017-01-01 9:03 UTC (permalink / raw) To: Elias Mårtenson; +Cc: John Wiegley, Richard Stallman, emacs-devel Elias Mårtenson <lokedhs@gmail.com> writes: > On 1 January 2017 at 06:04, Ricardo Wurmus <rekado@elephly.net> wrote: > >> >> Richard Stallman <rms@gnu.org> writes: >> >> > However, I don't see any ethical issue about making and distributing >> > Docker images of Emacs as long as we get the details right: for >> > instance, use an endorsed free GNU/Linux distro. >> >> We could use Guix to generate the image contents from scratch, i.e. we >> wouldn’t even have to use a “base image” (usually a minimal GNU/Linux >> system). The idea is to export the package closure for the “emacs” >> package from the Guix store (this includes all runtime dependencies) and >> wrap up the files in a plain docker image. >> > > Arguably there should be a fully free distribution that could be the base > for more than just Emacs. GuixSD is a fully free GNU distribution and it comes with the tools that are needed to determine runtime dependencies that can then turned into a Docker image. Since Guix is a functional package manager and thus can account for the full closure of a package it doesn’t require a base image and can be the base itself. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC http://elephly.net ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-01 9:03 ` Ricardo Wurmus @ 2017-01-01 10:15 ` Elias Mårtenson 2017-01-06 15:56 ` Ricardo Wurmus 0 siblings, 1 reply; 126+ messages in thread From: Elias Mårtenson @ 2017-01-01 10:15 UTC (permalink / raw) To: Ricardo Wurmus; +Cc: John Wiegley, Richard Stallman, emacs-devel [-- Attachment #1: Type: text/plain, Size: 825 bytes --] On 1 January 2017 at 17:03, Ricardo Wurmus <rekado@elephly.net> wrote: > > Elias Mårtenson <lokedhs@gmail.com> writes: > > > Arguably there should be a fully free distribution that could be the base > > for more than just Emacs. > > GuixSD is a fully free GNU distribution and it comes with the tools that > are needed to determine runtime dependencies that can then turned into a > Docker image. Since Guix is a functional package manager and thus can > account for the full closure of a package it doesn’t require a base > image and can be the base itself. I have to admit that I don't fully know what Guix is, but based on what you say, it would still make sense to have a base (Guix, in this case) that other containers base themselves on. That way the storage can be shared between containers. [-- Attachment #2: Type: text/html, Size: 1248 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-01 10:15 ` Elias Mårtenson @ 2017-01-06 15:56 ` Ricardo Wurmus 2017-01-07 23:19 ` Philippe Vaucher 0 siblings, 1 reply; 126+ messages in thread From: Ricardo Wurmus @ 2017-01-06 15:56 UTC (permalink / raw) To: Elias Mårtenson; +Cc: John Wiegley, Richard Stallman, emacs-devel Elias Mårtenson <lokedhs@gmail.com> writes: > On 1 January 2017 at 17:03, Ricardo Wurmus <rekado@elephly.net> wrote: > >> >> Elias Mårtenson <lokedhs@gmail.com> writes: >> >> > Arguably there should be a fully free distribution that could be the base >> > for more than just Emacs. >> >> GuixSD is a fully free GNU distribution and it comes with the tools that >> are needed to determine runtime dependencies that can then turned into a >> Docker image. Since Guix is a functional package manager and thus can >> account for the full closure of a package it doesn’t require a base >> image and can be the base itself. > > > I have to admit that I don't fully know what Guix is, but based on what you > say, it would still make sense to have a base (Guix, in this case) that > other containers base themselves on. That way the storage can be shared > between containers. Guix is a functional package manager. Given a package it can extract the “closure” of the package, i.e. the package and all its dependencies, recursively. Since commit 03476a23f Guix can build Docker images without requiring Docker, simply by recursively exporting a package along with its dependencies, all the way down to things like the glibc. Here’s how to build a Docker image of Emacs (along with coreutils and bash, so that M-x shell and a couple more things work out of the box): guix environment --ad-hoc emacs-no-x-toolkit coreutils bash guix archive --export -f docker $GUIX_ENVIRONMENT The generated archive can the be loaded with “docker load”. A user can then run Emacs with the usual “docker run … $imageid /bin/emacs” invocation. For simpler packages it would be sufficient to do something like this: guix archive --export -f docker $(guix build the-package) -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC http://elephly.net ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2017-01-06 15:56 ` Ricardo Wurmus @ 2017-01-07 23:19 ` Philippe Vaucher 0 siblings, 0 replies; 126+ messages in thread From: Philippe Vaucher @ 2017-01-07 23:19 UTC (permalink / raw) To: Ricardo Wurmus Cc: John Wiegley, Elias Mårtenson, Richard Stallman, emacs-devel [-- Attachment #1: Type: text/plain, Size: 271 bytes --] > > Since commit 03476a23f Guix can build Docker images without requiring > Docker, simply by recursively exporting a package along with its > dependencies, all the way down to things like the glibc. > That is very interesting! Thank you for mentionning that. Philippe [-- Attachment #2: Type: text/html, Size: 541 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 0:53 ` John Wiegley 2016-12-30 21:36 ` Richard Stallman @ 2016-12-31 1:22 ` Yann Hodique 2016-12-31 2:08 ` John Wiegley 2017-01-28 11:06 ` Alex Bennée 2 siblings, 1 reply; 126+ messages in thread From: Yann Hodique @ 2016-12-31 1:22 UTC (permalink / raw) To: emacs-devel >>>>> "John" == John Wiegley <jwiegley@gmail.com> writes: >>>>> Richard Stallman <rms@gnu.org> writes: >>> The final "image" as they call it will be an Emacs binary, built on that >>> base, that users can download and directly run from any of the major >>> operating systems (Mac OS X, Windows, any flavor of GNU/Linux). >> At this point, I am confused, because the statements seem to conflict. >> Would the "Docker image" of Emacs _include_ the base system? Or would it be >> an executable Emacs package that could be installed straight _on top of_ >> that base system? > I see now that I was unclear: A Docker image is a self-contained tarball > containing a GNU/Linux kernel, necessary system software, and the final Emacs > executable that was built by the image recipe. That is not accurate: the Linux kernel is intentionally *not* part of the Docker image, since it's meant to be shared between all container instances and provide the runtime constructs (cgroups, namespaces, ...) that Docker relies on. Instead it is provided by the system running the Docker platform: your regular GNU/Linux distribution, or for other systems typically a virtual machine running a minimal system (with at least a Linux kernel, and often not much more) dedicated to running only Docker. Thanks Yann. -- Speak the truth. That is always much easier, and is often the most powerful argument. -- Bene Gesserit Axiom ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-31 1:22 ` Yann Hodique @ 2016-12-31 2:08 ` John Wiegley 0 siblings, 0 replies; 126+ messages in thread From: John Wiegley @ 2016-12-31 2:08 UTC (permalink / raw) To: Yann Hodique; +Cc: emacs-devel >>>>> "YH" == Yann Hodique <yann.hodique@gmail.com> writes: YH> Instead it is provided by the system running the Docker platform: your YH> regular GNU/Linux distribution, or for other systems typically a virtual YH> machine running a minimal system (with at least a Linux kernel, and often YH> not much more) dedicated to running only Docker. Thank you for the clarification, you are quite right: http://superuser.com/questions/889472/docker-containers-have-their-own-kernel-or-not -- John Wiegley GPG fingerprint = 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2 ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 0:53 ` John Wiegley 2016-12-30 21:36 ` Richard Stallman 2016-12-31 1:22 ` Yann Hodique @ 2017-01-28 11:06 ` Alex Bennée 2 siblings, 0 replies; 126+ messages in thread From: Alex Bennée @ 2017-01-28 11:06 UTC (permalink / raw) To: John Wiegley; +Cc: Richard Stallman, emacs-devel John Wiegley <jwiegley@gmail.com> writes: >>>>>> Richard Stallman <rms@gnu.org> writes: > >>> The final "image" as they call it will be an Emacs binary, built on that >>> base, that users can download and directly run from any of the major >>> operating systems (Mac OS X, Windows, any flavor of GNU/Linux). > >> At this point, I am confused, because the statements seem to conflict. > >> Would the "Docker image" of Emacs _include_ the base system? Or would it be >> an executable Emacs package that could be installed straight _on top of_ >> that base system? > > I see now that I was unclear: A Docker image is a self-contained tarball > containing a GNU/Linux kernel, necessary system software, and the final Emacs > executable that was built by the image recipe. Just a minor correction, Docker images do not contain kernels. They are purely a user-space construct. They are built to use the Linux kernel ABI and are virtualised to the extent they have their own pid/network/filesystem namespaces. > The Docker image contents, thus, can be entirely free software. Executing the > image on some platforms (such as Windows) may use proprietary software to > perform the execution (for example, VM provisioning software). -- Alex Bennée ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-12-30 0:10 ` Richard Stallman 2016-12-30 0:53 ` John Wiegley @ 2016-12-31 10:11 ` Philippe Vaucher 1 sibling, 0 replies; 126+ messages in thread From: Philippe Vaucher @ 2016-12-31 10:11 UTC (permalink / raw) To: Richard Stallman; +Cc: John Wiegley, Emacs developers [-- Attachment #1: Type: text/plain, Size: 767 bytes --] > > > You create a Docker build recipe by picking a "base" GNU/Linux > distribution > > (some variant of GNU/Linux that has an absolute minimum of included > programs), > > a recipe to install build tools, and then a recipes to build the target > > program. There are many ways to optimize this so that the result is as > small > > as possible, but that's the basics in a nutshell. > I missed the start of this thread, but I just wanted to mention that Emacs cannot build inside a docker container at the moment because of the personality syscall. See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23529 The result of the "portable dumper" thread is likely to yield a solution to this problem (wether we end up using a portable dumper or not). Philippe [-- Attachment #2: Type: text/html, Size: 1218 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: official Emacs Docker image 2016-07-12 22:45 ` John Wiegley 2016-07-13 13:12 ` Richard Stallman @ 2016-07-13 14:41 ` Ted Zlatanov 1 sibling, 0 replies; 126+ messages in thread From: Ted Zlatanov @ 2016-07-13 14:41 UTC (permalink / raw) To: emacs-devel On Tue, 12 Jul 2016 15:45:57 -0700 John Wiegley <jwiegley@gmail.com> wrote: >>>>>> "TZ" == Ted Zlatanov <tzz@lifelogs.com> writes: TZ> Docker Inc., who runs the Docker Hub. They essentially own the top TZ> namespace, so pulling "ubuntu" gets the official Ubuntu image, while TZ> "rms/ubuntu" is under the "rms" (usually a user name) namespace. JW> Wouldn't the "official" Docker image for Emacs be some "official" base OS, JW> such as debian:wheezy, and then the current Emacs release tarball built with JW> default options upon that base? It's a package from the user's viewpoint. Package maintenance is more involved than just installing a tarball. Docker Inc. provides security scans, automated builds, testing, and some user support for official images. JW> I say this because there are already "official" versions of Ubuntu and Emacs, JW> released on their respective websites, and Docker is just combining them into JW> another delivery form. Since they don't add or change anything about the code JW> being deployed, the officialness of Emacs running in a container should be JW> transitively determined by where its sources came from. JW> In all of this the FSF needn't be involved, except to be sure that whoever is JW> packaging these Emacs containers isn't adding or changing anything from what JW> is released on ftp.gnu.org. When you get the official "nginx" Docker image, you are usually not aware (unless you dig) that it has other GNU or generally free/non-free software. The software you run is hidden. Often there are many people packaging the same software in different ways for different purposes. That's why I suggested official Docker images with FSF/GNU branding might be good for Docker users, if only to present a consistently free package. Ted ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? 2015-11-10 19:16 ` Automate Emacs UI testing? joakim 2015-11-10 19:37 ` John Wiegley 2015-11-11 16:59 ` Richard Stallman @ 2015-11-12 11:36 ` Mathieu Lirzin 2015-11-12 11:43 ` joakim 2 siblings, 1 reply; 126+ messages in thread From: Mathieu Lirzin @ 2015-11-12 11:36 UTC (permalink / raw) To: joakim; +Cc: Óscar Fuentes, emacs-devel Hi, joakim@verona.se writes: > This is the testing scenario I have worked on. > > - Isolate an Emacs build and environment in a Docker container > environment. This works well, but it's a little bit tricky getting the > containerized Emacs to access the host screen. It is a nice strategy, > because you can easily simulate a number of gnu/linux distributions. I > used this strategy for my xwidget branch. I don't think this is the right way to “easily” simulate different GNU/linux distributions, because IIUC having one Docker container for each distro implies maintaining them individually. But since GNU/linux distributions differ only by having different combinaisons of packages or versions, So it is more lightweight and maintainable to use a package manager like GNU Guix which handles the installation of multiple versions of the same package and provides tools to create isolated environments for each combinaison: https://www.gnu.org/software/guix/manual/guix.html#Invoking-guix-environment WDYT? -- Mathieu Lirzin ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Automate Emacs UI testing? 2015-11-12 11:36 ` Automate Emacs UI testing? Mathieu Lirzin @ 2015-11-12 11:43 ` joakim 0 siblings, 0 replies; 126+ messages in thread From: joakim @ 2015-11-12 11:43 UTC (permalink / raw) To: Mathieu Lirzin; +Cc: Óscar Fuentes, emacs-devel Mathieu Lirzin <mthl@gnu.org> writes: > Hi, > > joakim@verona.se writes: > >> This is the testing scenario I have worked on. >> >> - Isolate an Emacs build and environment in a Docker container >> environment. This works well, but it's a little bit tricky getting the >> containerized Emacs to access the host screen. It is a nice strategy, >> because you can easily simulate a number of gnu/linux distributions. I >> used this strategy for my xwidget branch. > > I don't think this is the right way to “easily” simulate different > GNU/linux distributions, because IIUC having one Docker container for > each distro implies maintaining them individually. > > But since GNU/linux distributions differ only by having different > combinaisons of packages or versions, So it is more lightweight and > maintainable to use a package manager like GNU Guix which handles the > installation of multiple versions of the same package and provides tools > to create isolated environments for each combinaison: > > https://www.gnu.org/software/guix/manual/guix.html#Invoking-guix-environment > > WDYT? Sure, but in my case I wanted to explicitly test different distributions, and also that the distribution packaging worked. I wanted this for my xwidget branch. I'm not saying Docker is the correct solution in all scenarios. > > -- > Mathieu Lirzin -- Joakim Verona ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 13:57 Move to a cadence release model? John Yates ` (2 preceding siblings ...) 2015-11-10 17:11 ` Eli Zaretskii @ 2015-11-10 18:20 ` Richard Stallman 2015-11-10 23:50 ` Xue Fuqiao 2015-11-20 3:02 ` Stefan Monnier 4 siblings, 1 reply; 126+ messages in thread From: Richard Stallman @ 2015-11-10 18:20 UTC (permalink / raw) To: John Yates; +Cc: emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > I have been impressed with open source projects that have made the change. > I am now employed at Mathworks which ships mission critical software to > very large enterprise customers on a 6 month cadence. We don't consider Emacs an "open source" project, but that doesn't mean we can't think about this proposal. However, you haven't said what it means. Can you please spell out in concrete terms what you have in mind? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 18:20 ` Move to a cadence release model? Richard Stallman @ 2015-11-10 23:50 ` Xue Fuqiao 2015-11-10 23:58 ` John Wiegley 2015-11-11 15:48 ` Eli Zaretskii 0 siblings, 2 replies; 126+ messages in thread From: Xue Fuqiao @ 2015-11-10 23:50 UTC (permalink / raw) To: rms; +Cc: Emacs-devel, John Yates On Wed, Nov 11, 2015 at 2:20 AM, Richard Stallman <rms@gnu.org> wrote: Hi Richard, > > I have been impressed with open source projects that have made the change. > > I am now employed at Mathworks which ships mission critical software to > > very large enterprise customers on a 6 month cadence. > > We don't consider Emacs an "open source" project, but that doesn't > mean we can't think about this proposal. However, you haven't said > what it means. Can you please spell out in concrete terms what you > have in mind? I think what John had in mind was to make Emacs release earlier and more frequently (i.e., be time-based instead of feature-based), thus creating a tight feedback loop between developers and users and eliminating the risk of creating a new release that no one will use. This means that users will see smaller changes more frequently. Some examples of this model are Linux (a new release every few months, although there is a separate set of "stable" branches), Firefox (a new release every six weeks), Chromium (roughly the same as Firefox), and LibreOffice (six monthly releases). ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 23:50 ` Xue Fuqiao @ 2015-11-10 23:58 ` John Wiegley 2015-11-11 1:55 ` John Yates 2015-11-11 15:49 ` Eli Zaretskii 2015-11-11 15:48 ` Eli Zaretskii 1 sibling, 2 replies; 126+ messages in thread From: John Wiegley @ 2015-11-10 23:58 UTC (permalink / raw) To: Xue Fuqiao; +Cc: John Yates, rms, Emacs-devel >>>>> Xue Fuqiao <xfq.free@gmail.com> writes: > I think what John had in mind was to make Emacs release earlier and more > frequently (i.e., be time-based instead of feature-based), thus creating a > tight feedback loop between developers and users and eliminating the risk of > creating a new release that no one will use. This means that users will see > smaller changes more frequently. I would indeed like to see several .x releases within a cycle, fairly evenly spaced. x.y releases would wait until we have a larger set of features ready. Doing this properly may mean dividing how we develop Emacs, though, with active development on both the "current release branch (25.x)", and the "next major release (26.1)". Merges would proceed daily from the former to the latter, but rarely in the other direction (and only by cherry-picking). We want an active focus on bugs -- toward a stabler .x -- but we don't want to inhibit integration of feature branches toward the next x.y as they become ready. What we're doing now is working, so this isn't a change I propose making right now. While we work on getting 25.1 out the door, we can keep thinking about our development and release model. John ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 23:58 ` John Wiegley @ 2015-11-11 1:55 ` John Yates 2015-11-11 9:02 ` Xue Fuqiao ` (2 more replies) 2015-11-11 15:49 ` Eli Zaretskii 1 sibling, 3 replies; 126+ messages in thread From: John Yates @ 2015-11-11 1:55 UTC (permalink / raw) To: Xue Fuqiao, Richard Stallman, Emacs-devel, John Yates [-- Attachment #1: Type: text/plain, Size: 4649 bytes --] Mea culpa. I let my enthusiasm get the better of me is when I wrote > I have been impressed with open source projects that have made the change. I have gone back and tried to identify smaller projects which have made such a change. To my shame I am unable to find any. Not say that they do not exist (I am sure that they do) but I am unable to formulate a google query that turns any up. (It does not help that there is a prominent software company named Cadence Design Systems :-). That said I would add to Xue Fugiao's list OpenStack (6 month cadence). Re Eli's points: In my short time at Mathworks it is clear to me that the model is very different from what he imagines. At Mathworks a culture of cadence-base release starts with an absolute awareness that no one knows what will be in the next release. Concretely that translates into _never_ making such commitments to customers. I am told that what corresponds to "roadmap presentations" come down to describing areas that the company views as strategic and hence where it is investing development resources. I have not attended such a presentation (I am, after all, a lowly engineer). Still I have been lead to believe that such presentations are quite honest about relative levels of investment and priorities attached to various development activities. The customers in turn are knowledgeable enough to understand that - to the extant that development resources are fungible - under some circumstance resources may be pulled from lower priority work to accelerate delivery of higher priority work. Eli is correct that there is some attempt at the start of a development cycle to synchronize and coordinate activities that involve cross-group dependencies. But what has struck me most strongly, based on more than 40 years prior experience in commercial software development, is how readily features that had been on a glide path toward shipment in a given release can get cut. The clear message is that shipping a high-quality product on a predictable schedule is more important than delaying the release or shipping something buggy. If a feature was nearly ready for this release then surely it will be in truly great shape for the release 6 months later. So why take a chance? The other part of taking care of customers is quick publication of descriptions of any bugs that do make it into the field, including either publication of work-arounds where appropriate and when necessary rapid availability of bug fix releases containing _nothing_ but high priority bug fixes. I have been thinking about the difference between Emacs' development culture and that of project with a strong commitment to maintaining a cadence. My conclusion is that it comes down to the effort put into keeping the master branch so healthy that a release branch could be cut at nearly any moment. Inevitably this comes with a strong emphasis on code review, gatekeeping and usually continuous testing. The Linux kernel is somewhat atypical in having its gatekeeping function entrusted entirely to humans (Linus' lieutenants and their underlings). (I am unfamiliar with Firefox. I did read https://www.mozilla.org/en-US/about/governance/policies/commit/access-policy/ but failed to get a good sense of how things work there.) All of the remaining projects (Chromium, LibreOffice and OpenStack) use gerrit to enforce a review processes (and to support continuous integration testing). The important part of all of these review cultures is that work _must_ be presented in reviewable units. No matter how good the work and no matter how great the reputation of the developer if what is offered for review is too large or amorphous then it is entirely expected that it will be reject with a request to break it up into more digestible units. Keeping the master branch ready for release also means not allowing incomplete work to get promoted. Hence none of these projects would deem acceptable code without supporting documentation or unit tests. Absence of either would be grounds for a failed review. Re current pattern of 6 month code freeze: This seems to be a manifestation of that fact that once a sufficient collection of new features have been accumulated we recognize in our heart of hearts that our code is not ready for release. At a minimum it has not necessarily been built on all of the platforms we claim to support, various feature have received waivers (hence are incomplete) and lots of documentation remains to be written. Moving more rapidly from cutting a release branch to asserting a release-ready tarball requires addressing those cultural patterns. /john [-- Attachment #2: Type: text/html, Size: 5414 bytes --] ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-11 1:55 ` John Yates @ 2015-11-11 9:02 ` Xue Fuqiao 2015-11-11 15:37 ` Eli Zaretskii 2015-11-12 22:35 ` Richard Stallman 2 siblings, 0 replies; 126+ messages in thread From: Xue Fuqiao @ 2015-11-11 9:02 UTC (permalink / raw) To: John Yates; +Cc: Richard Stallman, Emacs-devel On Wed, Nov 11, 2015 at 9:55 AM, John Yates <john@yates-sheets.org> wrote: Hi John, > I am unfamiliar with Firefox. I did read > https://www.mozilla.org/en-US/about/governance/policies/commit/access-policy/ > but failed to get a good sense of how things work there. I've contributed to several Mozilla projects, and I know a bit about Firefox. I promise that I won't talk too much about this. If you're interested, we can discuss on the emacs-tangents list. Mozilla operates under a module ownership governance system[1]. The Firefox module owner and peers[2] review the code for Firefox. The "r+" flag on Bugzilla means that the code is accepted. Well, they do require that the patches should be small, functionally divided, including tests and with descriptive commit messages. Most Mozilla projects have two levels of review, known as "review" and "super-review". Reviewers look at the actual fix/feature/design and its maintainability/security/compatibility/localization/coding-style; super-reviewers look how a patch fits into the broader Mozilla codebase. Similiar to Chromium/LibreOffice/OpenStack, Mozilla also uses a code review platforms, such as MozReview[3]. For continuous integration testing, Mozilla uses/develops an extensive set of tools like Buildbot/TaskCluster and Treeherder. See https://developer.mozilla.org/en-US/docs/Continuous_Integration for details. [1] https://www.mozilla.org/en-US/about/governance/policies/module-ownership/ [2] https://wiki.mozilla.org/Modules/Firefox [3] https://mozilla-version-control-tools.readthedocs.org/en/latest/mozreview.html ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-11 1:55 ` John Yates 2015-11-11 9:02 ` Xue Fuqiao @ 2015-11-11 15:37 ` Eli Zaretskii 2015-11-12 22:35 ` Richard Stallman 2 siblings, 0 replies; 126+ messages in thread From: Eli Zaretskii @ 2015-11-11 15:37 UTC (permalink / raw) To: John Yates; +Cc: xfq.free, rms, emacs-devel > Date: Tue, 10 Nov 2015 20:55:59 -0500 > From: John Yates <john@yates-sheets.org> > > Re Eli's points: In my short time at Mathworks it is clear to me that the model is very different from what he imagines. At Mathworks a culture of cadence-base release starts with an absolute awareness that no one knows what will be in the next release. I sincerely doubt that. Someone in the company's management must know. Moreover, someone must actively _control_ that. You cannot run a successful business any other way. > Concretely that translates into _never_ making such commitments to customers. I never said it should be known to customers. It should, however, be known internally. Otherwise, Mathworks is just another chaotic firm which we have nothing to learn from (and can actually teach them some ;-). > I am told that what corresponds to "roadmap presentations" come down to describing areas that the company views as strategic and hence where it is investing development resources. There you go: we don't have any such roadmap in Emacs. And I actually very much doubt if we can practically have one. At least all past attempts to start something like that failed spectacularly. Countless discussions about adding WYSIWYG word-processor like editing features, developing an Emacs IDE, etc. -- these all are attempts to set just the first milestone on that roadmap. They all eat dust every single time the issues are raised here. Doesn't that say something about our culture and preferences? > The clear message is that shipping a high-quality product on a predictable schedule is more important than delaying the release or shipping something buggy. Emacs doesn't "ship buggy", so that's not the issue here. As for predictable release schedule, whether this is important should be based on user surveys. Did someone make such surveys for Emacs? I don't think so. FWIW, it makes little sense to me to install a new non-bugfix release of a major package such as Emacs without getting significant new features, but I'm just one user, and most probably not the typical one. In any case, if we want to focus on frequent high-quality releases, we should work on our QA. That's the point Ãscar was making: our QA is abysmally inadequate. > rapid availability of bug fix releases containing _nothing_ but high priority bug fixes. That is relatively much easier, and we already tried that on the Emacs-24 branch: the last bugfix release was out the door in about 10 days since the first pretest (which we declared an RC). But this is only possible on the release branch, and only if we allow absolutely nothing on that branch except relatively safe bug fixes. > I have been thinking about the difference between Emacs' development culture and that of project with a strong commitment to maintaining a cadence. My conclusion is that it comes down to the effort put into keeping the master branch so healthy that a release branch could be cut at nearly any moment. Inevitably this comes with a strong emphasis on code review, gatekeeping and usually continuous testing. The Linux kernel is somewhat atypical in having its gatekeeping function entrusted entirely to humans (Linus' lieutenants and their underlings). (I am unfamiliar with Firefox. I did read https://www.mozilla.org/en-US/about/governance/policies/commit/access-policy/ but failed to get a good sense of how things work there.) All of the remaining projects (Chromium, LibreOffice and OpenStack) use gerrit to enforce a review processes (and to support continuous integration testing). The important part of all of these review cultures is that work _must_ be presented in reviewable uni So we essentially agree: switching to any cadence model requires deep changes in how Emacs development works, which in turn requires a much larger core development team and a very different organization of that team. E.g., a gatekeeper model won't work without a gatekeeper. We can try working towards such new models, if we believe we can achieve them. But until we get close to that goal, discussing such radically different models will remain a pipe dream at best. > Re current pattern of 6 month code freeze: This seems to be a manifestation of that fact that once a sufficient collection of new features have been accumulated we recognize in our heart of hearts that our code is not ready for release. At a minimum it has not necessarily been built on all of the platforms we claim to support, various feature have received waivers (hence are incomplete) and lots of documentation remains to be written. Moving more rapidly from cutting a release branch to asserting a release-ready tarball requires addressing those cultural patterns. There is no 6-month code freeze. There are long pretest periods for major version releases. Emacs 21.1, which included a complete rewrite of the display engine and many other significant changes, took 11 months since the first pretest till the release. Emacs 22.1 took 7.5 months, Emacs 23.1 5 months, Emacs 24.1 8.5 months. A large portion of that time is spent updating the documentation to match the changes, especially documenting the new features, and then proof-reading the manuals. (I'm guessing at Mathworks you don't have developers writing and proof-reading the documentation, you have special staff for that. We don't have such luxury.) Slashing those months-long pretest periods means requesting that every user-visible change be accompanied by the corresponding documentation changes -- are we prepared to do that? Do we have enough people in place to review and comment on those documentation changes if and when they do come? Don't forget that some of us cannot write good English documentation and/or don't command written technical English enough to produce something decent. And I didn't even start talking about how many of us _want_ to deal with documentation even if their English is fine. The other reason for the long pretests is indeed the need to test the upcoming release on a wide array of different platforms and system configurations. We used to have a group of pretesters who represented the supported platforms, and who were instrumental in that process. We no longer seem to have such a group, and the platforms we care about changed anyway. As result, our coverage of the possible configurations is mostly random, and we can no longer be sure that a long enough pretest period will shake out enough bugs. Note that it is not enough to just build on a platform, you must actually use Emacs there to find bugs. And since a typical user uses only a small fraction of Emacs features, a single tester per platform/configuration is not enough for thorough testing. Some work in that area is needed, e.g. to identify the features which might be platform-dependent (example: file notifications), and then compile a list of platforms that share the same implementation of a given feature. Then we need a few testers for each such group, and we need to inform them about each pretest (there used to be a mailing list for that) and be sure to collect their reports. Lots of job opportunities there, and too few volunteers... ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-11 1:55 ` John Yates 2015-11-11 9:02 ` Xue Fuqiao 2015-11-11 15:37 ` Eli Zaretskii @ 2015-11-12 22:35 ` Richard Stallman 2 siblings, 0 replies; 126+ messages in thread From: Richard Stallman @ 2015-11-12 22:35 UTC (permalink / raw) To: John Yates; +Cc: xfq.free, john, emacs-devel [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > The important part of all of these review cultures is that work > _must_ be presented in reviewable units. I am not quite sure what that would mean, concretely, for Emacs. Currently, we install a new feature as a whole. That can be large; perhaps not a "reviewable unit". If so, what would we do instead? Install small parts of the code one by one? The problem is, they won't actually do anything by themselves. And we won't be able to see their interactions with the rest of Emacs features and usage patterns, until the whole thing is installed. > Re current pattern of 6 month code freeze: This seems to be a manifestation > of that fact that once a sufficient collection of new features have been > accumulated we recognize in our heart of hearts that our code is not ready > for release. And some of the new features or changes won't work in combination with various other existing features. There are so many features in Emacs, so many use cases and interactions, that we don't know how to test that a new feature works the way users would like in all cases. It may not even be clear what behavior users would like in all of them. It comes down to a question of what "reviewable unit" means. That we can study the code of the feature for bugs? That's what we do now for the whole new feature. That we can determine whether it interacts badly with anything else? I don't see how we can do that, no small the parts are. Have I missed the point somehow? -- Dr Richard Stallman President, Free Software Foundation (gnu.org, fsf.org) Internet Hall-of-Famer (internethalloffame.org) Skype: No way! See stallman.org/skype.html. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 23:58 ` John Wiegley 2015-11-11 1:55 ` John Yates @ 2015-11-11 15:49 ` Eli Zaretskii 2015-11-12 11:27 ` Stelian Iancu 1 sibling, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-11 15:49 UTC (permalink / raw) To: John Wiegley; +Cc: xfq.free, john, rms, emacs-devel > From: John Wiegley <jwiegley@gmail.com> > Date: Tue, 10 Nov 2015 15:58:20 -0800 > Cc: John Yates <john@yates-sheets.org>, rms@gnu.org, > Emacs-devel <emacs-devel@gnu.org> > > I would indeed like to see several .x releases within a cycle, fairly evenly > spaced. x.y releases would wait until we have a larger set of features ready. We more or less do this already, so no significant change there. Releases from emacs-24 branch were done approximately every 6 months. The intervals could be made shorter if we don't allow new features on the release branch. > Doing this properly may mean dividing how we develop Emacs, though, with > active development on both the "current release branch (25.x)", and the "next > major release (26.1)". Merges would proceed daily from the former to the > latter, but rarely in the other direction (and only by cherry-picking). Careful here: you are talking about maintaining more than 2 active branches. We still have veteran developers who regularly shoot themselves in the foot with even 2 branches, and others who evidently cannot safely work on a feature branch without messing up their DAG. Last, but not least, gitmerge.el is still very much in diapers, and doesn't support more than 2 branches. Most places I know about have separate teams working on each branch. Do we have enough people to do that? > We want an active focus on bugs -- toward a stabler .x -- but we don't want to > inhibit integration of feature branches toward the next x.y as they become > ready. As I wrote earlier, "active focus on bugs" is a pipe dream as long as the number of people who care about bugs enough to pick them up, investigate, and work with the submitters or by themselves to debug them is some prime number less than 3. We will never succeed in moving forward to some more elaborate development model if we don't have this issue covered much better than we do now. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-11 15:49 ` Eli Zaretskii @ 2015-11-12 11:27 ` Stelian Iancu 2015-11-12 16:22 ` Eli Zaretskii 0 siblings, 1 reply; 126+ messages in thread From: Stelian Iancu @ 2015-11-12 11:27 UTC (permalink / raw) To: emacs-devel On 11/11/15 16:49, Eli Zaretskii wrote: > > As I wrote earlier, "active focus on bugs" is a pipe dream as long as > the number of people who care about bugs enough to pick them up, > investigate, and work with the submitters or by themselves to debug > them is some prime number less than 3. We will never succeed in > moving forward to some more elaborate development model if we don't > have this issue covered much better than we do now. Is the bug handling process documented somehwere? ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-12 11:27 ` Stelian Iancu @ 2015-11-12 16:22 ` Eli Zaretskii 2015-11-12 16:44 ` Stelian Iancu 0 siblings, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-12 16:22 UTC (permalink / raw) To: Stelian Iancu; +Cc: emacs-devel > From: Stelian Iancu <stelian@iancu.ch> > Date: Thu, 12 Nov 2015 12:27:24 +0100 > > Is the bug handling process documented somewhere? Not sure what you mean by that. When someone decides they want to work on a bug, they just do it: reproduce it on their system, use the debugger, ask the OP questions if needed, discuss their findings on the mailing list with other developers, etc. Once the bug is identified and fixed, the bug report is closed by sending an email to special address @debbugs.gnu.org; if it is decided not to fix the bug, the bug is tagged accordingly by sending a similar message. The last part is the only thing I could call "bug handling process", and this _is_ documented in admin/notes/bugtracker. All the rest is just investigation and debugging. Does that answer your question? ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-12 16:22 ` Eli Zaretskii @ 2015-11-12 16:44 ` Stelian Iancu 2015-11-12 16:57 ` Eli Zaretskii 0 siblings, 1 reply; 126+ messages in thread From: Stelian Iancu @ 2015-11-12 16:44 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 12/11/15 17:22, Eli Zaretskii wrote: >> From: Stelian Iancu <stelian@iancu.ch> >> Date: Thu, 12 Nov 2015 12:27:24 +0100 >> >> Is the bug handling process documented somewhere? > > Not sure what you mean by that. When someone decides they want to > work on a bug, they just do it: reproduce it on their system, use the > debugger, ask the OP questions if needed, discuss their findings on > the mailing list with other developers, etc. Once the bug is > identified and fixed, the bug report is closed by sending an email to > special address @debbugs.gnu.org; if it is decided not to fix the bug, > the bug is tagged accordingly by sending a similar message. The last > part is the only thing I could call "bug handling process", and this > _is_ documented in admin/notes/bugtracker. All the rest is just > investigation and debugging. > > Does that answer your question? > > It does, to a certain degree. I'm only used to, let's say, more formal bug handling, where there is a certain process that is followed by both the reporter of the bug as well as the developer that is working on the bug. For example, in the places I've worked, there were different states that the bug was on, like "new", "confirmed", "reproducible", etc. Is there such a thing for Emacs bugs? If yes, how does one go about changing it? And where? But I kind of get the workflow from your answer. I've had a look at the web interface for the bug system and it's not very user friendly. Let's say I'd like to have a look at the existing bugs, trying to at least reproduce them and comment in the bug reports. How would I practically do that? I'm following the bugs mailing list on gmane for the past week or so, btw. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-12 16:44 ` Stelian Iancu @ 2015-11-12 16:57 ` Eli Zaretskii 0 siblings, 0 replies; 126+ messages in thread From: Eli Zaretskii @ 2015-11-12 16:57 UTC (permalink / raw) To: Stelian Iancu; +Cc: emacs-devel > From: Stelian Iancu <si@siancu.net> > Cc: emacs-devel@gnu.org > Date: Thu, 12 Nov 2015 17:44:24 +0100 > > It does, to a certain degree. I'm only used to, let's say, more formal > bug handling, where there is a certain process that is followed by both > the reporter of the bug as well as the developer that is working on the > bug. For example, in the places I've worked, there were different states > that the bug was on, like "new", "confirmed", "reproducible", etc. Is > there such a thing for Emacs bugs? See admin/notes/bugtracker. There are some tags you can tag the bug, and there is "severity". There's no formal process to set these, though. > Let's say I'd like to have a look at the existing bugs, trying to at > least reproduce them and comment in the bug reports. How would I > practically do that? The Web page provides filtering that you could use. Alternatively, install debbugs.el from ELPA and use that. > I'm following the bugs mailing list on gmane for the past week or so, btw. Thanks. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 23:50 ` Xue Fuqiao 2015-11-10 23:58 ` John Wiegley @ 2015-11-11 15:48 ` Eli Zaretskii 2015-11-12 7:23 ` Xue Fuqiao 1 sibling, 1 reply; 126+ messages in thread From: Eli Zaretskii @ 2015-11-11 15:48 UTC (permalink / raw) To: Xue Fuqiao; +Cc: john, rms, emacs-devel > Date: Wed, 11 Nov 2015 07:50:14 +0800 > From: Xue Fuqiao <xfq.free@gmail.com> > Cc: Emacs-devel <emacs-devel@gnu.org>, John Yates <john@yates-sheets.org> > > Some examples of this model are Linux (a new release every few months, > although there is a separate set of "stable" branches), Firefox (a new > release every six weeks), Chromium (roughly the same as Firefox), and > LibreOffice (six monthly releases). I think we can only have useful discussions of those other models if they are not just mentioned, but described in some detail. Relevant details IMO include the number of active developers, the number of gatekeepers and/or people actively involved in the patch review process, some statistics about the commit rate, etc. Only armed with those details can we reason whether any of those models are applicable to Emacs, and what would be the prerequisites of each model. E.g., people talk about reviewing patches, pull requests, gerrit, etc., but we don't even _have_ a patch review process per se. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-11 15:48 ` Eli Zaretskii @ 2015-11-12 7:23 ` Xue Fuqiao 2015-11-12 7:37 ` Xue Fuqiao 2015-11-12 16:15 ` Eli Zaretskii 0 siblings, 2 replies; 126+ messages in thread From: Xue Fuqiao @ 2015-11-12 7:23 UTC (permalink / raw) To: Eli Zaretskii; +Cc: john, rms, Emacs-devel On Wed, Nov 11, 2015 at 11:48 PM, Eli Zaretskii <eliz@gnu.org> wrote: Hi Eli, >> Date: Wed, 11 Nov 2015 07:50:14 +0800 >> From: Xue Fuqiao <xfq.free@gmail.com> >> Cc: Emacs-devel <emacs-devel@gnu.org>, John Yates <john@yates-sheets.org> >> >> Some examples of this model are Linux (a new release every few months, >> although there is a separate set of "stable" branches), Firefox (a new >> release every six weeks), Chromium (roughly the same as Firefox), and >> LibreOffice (six monthly releases). > > I think we can only have useful discussions of those other models if > they are not just mentioned, but described in some detail. Relevant > details IMO include the number of active developers, the number of > gatekeepers and/or people actively involved in the patch review > process, some statistics about the commit rate, etc. Only armed with > those details can we reason whether any of those models are applicable > to Emacs, and what would be the prerequisites of each model. E.g., > people talk about reviewing patches, pull requests, gerrit, etc., but > we don't even _have_ a patch review process per se. OK. Here are some relevant details I found. According to Black Duck Open Hub[1]: Linux has * 705 contributors and 3926 commits in the last 30 days * 3826 contributors and 68190 commits in the last 12 months * 1000+ maintainers[2] Firefox has * 396 contributors and 4558 commits in the last 30 days * 1180 contributors and 56950 commits in the last 12 months * About 30 gatekeepers[3] Chromium has * 909 contributors and 11410 commits in the last 30 days * 2457 contributors and 61454 commits in the last 12 months * (I have not yet counted the number of reviewers in Chromium. They are listed in the dir/OWNERS files of the source code.) OpenStack has * 321 contributors and 2312 commits in the last 30 days * 1757 contributors and 40212 commits in the last 12 months * (I don't know the number of people actively involved in the patch review process in OpenStack.) Finally, Emacs has * 40 contributors and 319 commits in the last 30 days * 200 contributors and 4244 commits in the last 12 months * Less than 10 people actively involved in code review[4] Footnotes: [1] https://www.openhub.net/ [2] https://www.kernel.org/doc/linux/MAINTAINERS [3] https://wiki.mozilla.org/Modules/Firefox [4] My impression: Dmitry Gutov, Glenn Morris, Michael Albinus, Stefan Monnier, Artur Malabarba, and you. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-12 7:23 ` Xue Fuqiao @ 2015-11-12 7:37 ` Xue Fuqiao 2015-11-12 16:15 ` Eli Zaretskii 1 sibling, 0 replies; 126+ messages in thread From: Xue Fuqiao @ 2015-11-12 7:37 UTC (permalink / raw) To: Eli Zaretskii; +Cc: john, rms, Emacs-devel On Thu, Nov 12, 2015 at 3:23 PM, Xue Fuqiao <xfq.free@gmail.com> wrote: > On Wed, Nov 11, 2015 at 11:48 PM, Eli Zaretskii <eliz@gnu.org> wrote: > > Hi Eli, > >>> Date: Wed, 11 Nov 2015 07:50:14 +0800 >>> From: Xue Fuqiao <xfq.free@gmail.com> >>> Cc: Emacs-devel <emacs-devel@gnu.org>, John Yates <john@yates-sheets.org> >>> >>> Some examples of this model are Linux (a new release every few months, >>> although there is a separate set of "stable" branches), Firefox (a new >>> release every six weeks), Chromium (roughly the same as Firefox), and >>> LibreOffice (six monthly releases). >> >> I think we can only have useful discussions of those other models if >> they are not just mentioned, but described in some detail. Relevant >> details IMO include the number of active developers, the number of >> gatekeepers and/or people actively involved in the patch review >> process, some statistics about the commit rate, etc. Only armed with >> those details can we reason whether any of those models are applicable >> to Emacs, and what would be the prerequisites of each model. E.g., >> people talk about reviewing patches, pull requests, gerrit, etc., but >> we don't even _have_ a patch review process per se. > > OK. Here are some relevant details I found. According to Black Duck > Open Hub[1]: > > Linux has > * 705 contributors and 3926 commits in the last 30 days > * 3826 contributors and 68190 commits in the last 12 months > * 1000+ maintainers[2] > > Firefox has > * 396 contributors and 4558 commits in the last 30 days > * 1180 contributors and 56950 commits in the last 12 months > * About 30 gatekeepers[3] > > Chromium has > * 909 contributors and 11410 commits in the last 30 days > * 2457 contributors and 61454 commits in the last 12 months > * (I have not yet counted the number of reviewers in Chromium. They are > listed in the dir/OWNERS files of the source code.) > > OpenStack has > * 321 contributors and 2312 commits in the last 30 days > * 1757 contributors and 40212 commits in the last 12 months > * (I don't know the number of people actively involved in the patch > review process in OpenStack.) > > Finally, Emacs has > * 40 contributors and 319 commits in the last 30 days > * 200 contributors and 4244 commits in the last 12 months > * Less than 10 people actively involved in code review[4] Sorry, I inadvertently omitted LibreOffice. LibreOffice has * 81 contributors and 1871 commits in the last 30 days * 277 contributors and 19617 commits in the last 12 months * (I don't know the number of people actively involved in the patch review process in LibreOffice.) ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-12 7:23 ` Xue Fuqiao 2015-11-12 7:37 ` Xue Fuqiao @ 2015-11-12 16:15 ` Eli Zaretskii 1 sibling, 0 replies; 126+ messages in thread From: Eli Zaretskii @ 2015-11-12 16:15 UTC (permalink / raw) To: Xue Fuqiao; +Cc: john, rms, emacs-devel > Date: Thu, 12 Nov 2015 15:23:30 +0800 > From: Xue Fuqiao <xfq.free@gmail.com> > Cc: rms@gnu.org, Emacs-devel <emacs-devel@gnu.org>, john@yates-sheets.org > > OK. Here are some relevant details I found. According to Black Duck > Open Hub[1]: Thanks. (It's good to know about that site.) Clearly, we have some serious catching up to do before we can think about adopting those advanced models. ^ permalink raw reply [flat|nested] 126+ messages in thread
* Re: Move to a cadence release model? 2015-11-10 13:57 Move to a cadence release model? John Yates ` (3 preceding siblings ...) 2015-11-10 18:20 ` Move to a cadence release model? Richard Stallman @ 2015-11-20 3:02 ` Stefan Monnier 4 siblings, 0 replies; 126+ messages in thread From: Stefan Monnier @ 2015-11-20 3:02 UTC (permalink / raw) To: emacs-devel > With a new master at the helm and various changes being contemplated I > would like to see some discussion of moving to a cadence release model. FWIW, I've tried to follow a "one release per year" cadence ;-) Stefan ^ permalink raw reply [flat|nested] 126+ messages in thread
end of thread, other threads:[~2018-04-04 18:33 UTC | newest] Thread overview: 126+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-11-10 13:57 Move to a cadence release model? John Yates 2015-11-10 14:28 ` John Wiegley 2015-11-10 16:42 ` Eli Zaretskii 2015-11-10 17:03 ` John Wiegley 2015-11-11 0:17 ` Release process (was Re: Move to a cadence release model?) Stephen Leake 2015-11-11 0:24 ` John Wiegley 2015-11-11 3:45 ` Eli Zaretskii 2015-11-11 10:45 ` Stephen Leake 2015-11-11 15:43 ` Eli Zaretskii 2015-11-11 23:06 ` bug policy (was Re: Release process) Stephen Leake 2015-11-12 16:12 ` Eli Zaretskii 2015-11-12 16:39 ` John Wiegley 2015-11-12 17:36 ` Eli Zaretskii 2015-11-12 17:50 ` John Wiegley 2015-11-12 18:04 ` Eli Zaretskii 2015-11-11 16:39 ` Release process (was Re: Move to a cadence release model?) John Wiegley 2015-11-12 8:19 ` Xue Fuqiao 2015-11-17 0:09 ` Xue Fuqiao 2015-11-12 8:15 ` Xue Fuqiao 2015-11-10 14:32 ` Move to a cadence release model? Alan Mackenzie 2015-11-10 17:13 ` Eli Zaretskii 2015-11-10 17:11 ` Eli Zaretskii 2015-11-10 17:37 ` Óscar Fuentes 2015-11-10 17:44 ` Automate Emacs UI testing? (was: Move to a cadence release model?) John Wiegley 2015-11-10 18:01 ` Automate Emacs UI testing? Ashton Kemerling 2015-11-10 18:02 ` Automate Emacs UI testing? (was: Move to a cadence release model?) Eli Zaretskii 2015-11-10 19:16 ` Automate Emacs UI testing? joakim 2015-11-10 19:37 ` John Wiegley 2015-11-11 16:59 ` Richard Stallman 2015-11-11 17:18 ` joakim 2015-11-11 23:27 ` Richard Stallman 2015-11-12 2:26 ` official Emacs Docker image (was: Automate Emacs UI testing?) Ted Zlatanov 2015-11-12 15:49 ` official Emacs Docker image Nic Ferrier 2015-11-12 21:01 ` Ricardo Wurmus 2015-11-12 22:31 ` official Emacs Docker image (was: Automate Emacs UI testing?) Richard Stallman 2015-11-12 23:32 ` official Emacs Docker image joakim 2016-07-06 15:22 ` Ted Zlatanov 2016-07-07 21:56 ` Richard Stallman 2016-07-08 13:36 ` Ted Zlatanov 2016-07-09 16:54 ` Richard Stallman 2016-07-09 23:04 ` Ted Zlatanov 2016-07-10 14:25 ` Richard Stallman 2016-07-12 22:45 ` John Wiegley 2016-07-13 13:12 ` Richard Stallman 2016-07-13 16:34 ` John Wiegley 2016-12-30 0:10 ` Richard Stallman 2016-12-30 0:53 ` John Wiegley 2016-12-30 21:36 ` Richard Stallman 2016-12-30 22:01 ` joakim 2016-12-30 22:08 ` John Wiegley 2016-12-31 18:25 ` Richard Stallman 2017-01-27 14:56 ` Ted Zlatanov 2017-01-27 19:45 ` Filipe Silva 2017-01-30 14:36 ` Ted Zlatanov 2017-01-30 17:10 ` Ricardo Wurmus 2017-01-30 17:44 ` Ted Zlatanov 2017-01-31 0:14 ` Filipe Silva 2017-01-31 14:32 ` Ted Zlatanov 2017-02-01 3:03 ` Richard Stallman 2017-02-01 15:25 ` Ted Zlatanov 2017-02-02 2:53 ` Richard Stallman 2017-02-02 5:13 ` Mike Gerwitz 2017-02-02 14:21 ` Ted Zlatanov 2017-02-03 7:00 ` Stefan Reichör 2017-02-03 11:18 ` Filipe Silva 2017-02-04 2:56 ` Mike Gerwitz 2017-02-03 13:45 ` Ted Zlatanov 2017-02-03 21:59 ` Richard Stallman 2017-02-03 23:38 ` Ted Zlatanov 2017-02-03 23:54 ` Jean-Christophe Helary 2017-02-04 0:37 ` Filipe Silva 2017-02-04 1:12 ` Jean-Christophe Helary 2017-02-04 1:32 ` Filipe Silva 2017-02-04 23:52 ` Richard Stallman 2017-02-05 0:24 ` Jean-Christophe Helary 2017-02-04 23:54 ` Richard Stallman 2017-02-04 3:11 ` Mike Gerwitz 2017-02-04 4:13 ` Ted Zlatanov 2017-02-04 4:47 ` Mike Gerwitz 2017-02-06 10:49 ` Giuseppe Scrivano 2017-02-13 8:37 ` Richard Stallman 2017-02-13 9:55 ` Giuseppe Scrivano 2017-02-14 0:48 ` Richard Stallman 2017-02-14 2:07 ` Mike Gerwitz 2017-02-14 2:04 ` Mike Gerwitz 2017-02-04 23:54 ` Richard Stallman 2017-02-05 0:47 ` Ted Zlatanov 2017-02-04 23:48 ` Richard Stallman 2017-01-28 2:18 ` Richard Stallman 2017-02-21 15:01 ` Philippe Vaucher 2017-03-02 15:03 ` Ted Zlatanov 2017-03-03 10:09 ` Philippe Vaucher 2017-03-03 10:15 ` Philippe Vaucher 2017-03-08 20:30 ` Philippe Vaucher 2017-03-13 10:03 ` Philippe Vaucher 2018-04-04 18:33 ` Philippe Vaucher 2016-12-31 22:04 ` Ricardo Wurmus 2017-01-01 5:39 ` Elias Mårtenson 2017-01-01 9:03 ` Ricardo Wurmus 2017-01-01 10:15 ` Elias Mårtenson 2017-01-06 15:56 ` Ricardo Wurmus 2017-01-07 23:19 ` Philippe Vaucher 2016-12-31 1:22 ` Yann Hodique 2016-12-31 2:08 ` John Wiegley 2017-01-28 11:06 ` Alex Bennée 2016-12-31 10:11 ` Philippe Vaucher 2016-07-13 14:41 ` Ted Zlatanov 2015-11-12 11:36 ` Automate Emacs UI testing? Mathieu Lirzin 2015-11-12 11:43 ` joakim 2015-11-10 18:20 ` Move to a cadence release model? Richard Stallman 2015-11-10 23:50 ` Xue Fuqiao 2015-11-10 23:58 ` John Wiegley 2015-11-11 1:55 ` John Yates 2015-11-11 9:02 ` Xue Fuqiao 2015-11-11 15:37 ` Eli Zaretskii 2015-11-12 22:35 ` Richard Stallman 2015-11-11 15:49 ` Eli Zaretskii 2015-11-12 11:27 ` Stelian Iancu 2015-11-12 16:22 ` Eli Zaretskii 2015-11-12 16:44 ` Stelian Iancu 2015-11-12 16:57 ` Eli Zaretskii 2015-11-11 15:48 ` Eli Zaretskii 2015-11-12 7:23 ` Xue Fuqiao 2015-11-12 7:37 ` Xue Fuqiao 2015-11-12 16:15 ` Eli Zaretskii 2015-11-20 3:02 ` Stefan Monnier
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).