Emacs Needs To Move To GitHub, Says ESR 252
hypnosec writes "Eric S. Raymond, co-founder of the Open Source Initiative, has recommended that Emacs should move to another version control system like GitHub, as bzr is dying. In an email, Raymond highlighted the key reasons why he believes that Emacs should move. Raymond said that bzr is moribund; its dev list has flatlined; and most of Canonical's in-house projects have already abandoned bzr and moved to GitHub. ESR believes that bzr's codebase is sufficiently mature to be used as a production tool, but he does mention that continuing to use the revision control system will have 'social and signaling effects damaging to Emacs's prospects.'"
Update: 01/06 20:50 GMT by U L : ESR did not suggest Github the proprietary hosting platform for git, but rather git the version control system. Which is actually already available on Savannah (the bazaar repository is automatically synced with the git repository).
Git, not Github (Score:5, Informative)
Re: (Score:3, Insightful)
Re:Git, not Github (Score:5, Informative)
"The article" (the first link which is to hypnosec's spam site) also says Github. ESR's post says merely Git.
Re: (Score:2)
Re: (Score:2)
They probably did the same mistake.
Re: (Score:2)
There is no "they". "hypnosec" is "Ravi Mandalia". The mistake was made by the same person.
Re: (Score:3)
"They" is sometimes used as a non-gendered singular.
Re: (Score:3)
Will the last EMACS user, kindly turn out the lights?
JWZ likes sitting in the dark... :-)
What's bzr? (Score:2, Interesting)
Never heard of it.
Re: (Score:3)
Bazaar [canonical.com]. It's a VCS that Canonical developed. Why Switch to Bazaar? [canonical.com]
IMO, the only things that Bazaar has up on Git these days is released, official support for Windows and thus better GUIs all around for all platforms. Git is still technically a pre-release for Windows. Bazaar is also purportedly better for binary files than Git, and allows downloads from any point in the history (instead of Git requiring that you download the whole repository history).
Re:What's bzr? (Score:4, Informative)
The biggest issues I have with it are:
Nothing is a deal breaker. I think Git on Windows works as well as most other source control systems when its up and going and comes with its own advantages that compel its use for software development. I wouldn't use it for document management though - something like Subversion would be better for that.
Re:What's bzr? (Score:4, Informative)
it pre-dates git by a year, it was the NiH version of cvs and svn. Bzr was doing useful stuff before anyone realised Git would ever be used for anything other than the Linux kernel source tree. That isn't to say that NiH isn't sometimes a good thing, and that Canonical do daft things from time to time, but bzr wasn't a NiH reaction to Git.
Re: (Score:2)
Maybe it was an attempt to become the kernel VCS, as the kernel hackers already were angry about bitkeeper at this time.
Re: (Score:2)
the kernel hackers were angry about bitkeeper.
Then bzr was released, maybe just in that moment, to get the kernel hackers to use it.
Then Linus released git, which canonical could not expect.
AFAIR, the monotone people had hope, too.
Re: (Score:3)
IIRC he dislikes C++ for kernel development.
Re:What's bzr? (Score:4, Informative)
I thought there was a fairly complex history here, since the current bzr was (I thought) bzr-ng originally, an alternative to some original Bazaar tool. And I thought that *that* came from GNU Arch, which (speaking loosely) I gathered wasn't well understood or enjoyable to use. I don't know how much of the current behaviour dates back that far, though, so there may not be too much in common now!
Re:What's bzr? (Score:5, Funny)
How bizarre.
The cathedral and the bizarre?
Re: (Score:2)
How bizarre. (Ooh, baby)
I'll, uh, show myself out then, yeah? Yeah. *cough*
Re: (Score:3)
That's a pretty antipodian reference... :-)
GNU Savannah supports git (Score:5, Informative)
No need to move to a proprietary hosting service like Github.
I wrote about this previously: http://www.fsf.org/blogs/community/savannah [fsf.org]
Re: (Score:2)
Wow. Support for GNU Arch is really an outstanding feature!
TLA is for all intent and purposes is dead. The .gitignore alone is reason enough to migrate to git.
OK, archives is a very cool feature found literally nowhere else, but it alone isn't enough to sway any decision process in favor of TLA.
Re: (Score:2, Interesting)
Just wondering; why doesn't your article mention Github, which is probably the most popular service right now?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I believe when Stallman said that he was referring to the "traditional cloud services".
Re: (Score:2)
I did. Why didn't you?
Just wondering; why doesn't your article mention Github, which is probably the most popular service right now?
Re: (Score:2)
proprietary hosting service
Re: (Score:2)
Read my comment above.
Imagine Microsoft wrote an article about OS'es, recommending Windows and mentioning only Haiku, ReactOS and FreeDOS as possible open source OS'es, failing to even mention Linux.
This is not about what the article recommends, it's about the article completely ignoring the elephant in the room.
Re: (Score:2)
I wondered why the article didn't mention it.
I fully understand why he wouldn't recommend it, which is why I didn't ask about that.
Three other proprietary services are mentioned, but the most popular one was omitted.
Re: (Score:2)
Because the list was not meant to be exhaustive? Because when the article was written in August 2008, Github was only a couple of months old at the time and had far less users than the other services mentioned?
Re: (Score:2)
Entitlement? I'm not saying they owe me anything, I'm saying they have awful marketing.
I know they're driven by philosophy not money, but still, they really ought to maintain their why-you-should-use-us page.
Re: (Score:2)
There are more alternatives. For example Redmine http://www.redmine.org/ [redmine.org]
Redmine offers a full project management suite: bug track, wiki, forum, files and document, version control, GANT chart, and so on.
Git... (Score:5, Informative)
He wants to move emacs to git and not to Github. Journalists...
Re: (Score:3, Informative)
"hypnosec" is not a journalist. It's someone who's spamming his regurgitation blog posts to drive ad impressions.
Re: (Score:3, Informative)
Ravi Mandalia is "hypnosec".
Re:Git... (Score:5, Informative)
To add, Ravi Mandali's first version of his spam site was called "Hypno Security" which just basically regurgitated a couple of paragraphs of other people's news as "articles" and started spamming it here.
http://www.freelancer.com/u/hypnosec.html [freelancer.com]
Re: (Score:3, Funny)
No, actually worse. His grammar and factual accuracy makes the Slashdot editors look top notch.
Re: (Score:2)
Re: (Score:2)
and Slashdot Editors.. if there are any of them left....
If it doesn't reduce ad impressions, why would the editors care?
The criticisms people are leveling against this Ravi Mandali guy are for doing the same crap that DICE has ensured Slashdot does every day.
git, not GitHub (Score:5, Informative)
The original source (ESR himself) never mentioned GitHub. Just git. Can people stop conflating the two please?
Re:git, not GitHub (Score:5, Insightful)
The original source (ESR himself) never mentioned GitHub. Just git. Can people stop conflating the two please?
C'mon, man, get with the times. Having 'protocols' with 'definitions' that allow for 'multiple vendor-neutral implementations' is so totally outdated, man. Everybody knows that the future is snappily named proprietary services dependent on a single vendor with a nonsensical business model, ideally accessible only through an iPhone app!
Re: (Score:2)
Said snappily named services discovered through a multicast DNS p
Re: (Score:2)
Re: (Score:2)
Oh, don't worry, there's no sanity involved!
Re: (Score:2)
This. So true. The only thing to be added is an icon in the style of Dick Bruna's 'Nijntje Konijntje [wikipedia.org]' to appeal even the lowest of the lowest common of denominators.
Re: (Score:2)
Marketing (Score:2)
Oh god, the marketing-speak is coming from inside the open source developers. Get out! Get out now!
Surprised (Score:5, Funny)
I'm surprised that emacs didn't already have a version control system built into. It has everything else.
Cheers,
Dave
Re:Surprised (Score:5, Funny)
It has everything but still lacks decent editor
Re:Surprised (Score:5, Funny)
You will spend eternity in a circle of hell where you're forced to use Notepad.
Re: (Score:2)
Re: (Score:3)
They anticipated the move (Score:2)
Re: (Score:2)
Insufficient Resources (Score:2, Insightful)
Github doesn't have the resources to host something that bloated.
Re: (Score:2)
So Github isn't the Eclipse repository?
Re: (Score:2)
So Github isn't the Eclipse repository?
Eclipse moved from CVS to git, but is still hosted by eclipse.org
What about Mercurial? (Score:5, Insightful)
Since VC wars are almost as much fun as language wars, and I've already donned my Nomex underwear, why not Mercurial? It isn't as popular as git, but it's not going to die either (e.g. Python project uses Hg). It seems that most people or organizations that have actually sat down and evaluated Hg vs. git have chosen Hg. Examples include Google's online repository and Fog Creek's Kiln. Both now also support git, but that's because of demand by users. Of course user demand is, at least from a marketing PoV, important, but why the user demand for git over Hg? Both have technical pros and cons (and fortunately for both the dev teams compete with each other), but Hg has always had a much better command line user interface, better GUI integration, and was well designed from the ground up to be portable, as opposed to a pile of shell scripts and C programs to run on Linux. Arguably git's use on the Linux kernel is a factor, but why? For all its visibility and importance, the Linux kernel is but one FOSS project, and the vast majority of FOSS devs don't work on it.
Now for the statement that some will see as flamebait :-) but which is a sincere observation. I think the difference is the fanboi factor; people who think that git is the choice because it's from Linus, the ultimate cool kid. No, I don't think everyone who uses git does so because they're a fanboi. I suspect the main reason is going with that flow, but it's the fanbois who originally pushed that flow so hard. As your mother used to say, if all your friends decided to jump off a cliff, would you jump too? Vociferous debate welcome.
Sincerely,
Don Quixote
Re: (Score:2)
Re: (Score:3)
Of course user demand is, at least from a marketing PoV, important, but why the user demand for git over Hg? Both have technical pros and cons (and fortunately for both the dev teams compete with each other), but Hg has always had a much better command line user interface, better GUI integration, and was well designed from the ground up to be portable, as opposed to a pile of shell scripts and C programs to run on Linux. Arguably git's use on the Linux kernel is a factor, but why?
The network effect explains it. Git probably got an early boost of popularity because of who its author was. This initial momentum was enough to snowball into the most popular distributed RCS. Once it is established, learning curves and database lock-in create a barrier to other alternatives, and they apparently aren't currently "better enough" to prompt people to work through those barriers.
For example, even if Hg has a better CLI than git as you say, I'm sure that just learning and using just the git CLI
Re: (Score:2)
Funny, I thought much the same about Bzr. Bzr has at least one GUI (bzr-gtk), is better supported on more than just Linux-based systems, is also written in Python, etc.
Unfortunately, Bzr development has apparently stalled (hence the email from esr suggesting moving off bzr to git -- he notes that he would prefer hg, but that Git has basically won). But, bzr does everything I ask of it. I'll be continuing to use it, so long as it continues to work. When it stops, I guess I'll have to find a tool to convert a
Re: (Score:2)
Since VC wars are almost as much fun as language wars, and I've already donned my Nomex underwear, why not Mercurial?...
Because mercury causes autism!
Re: (Score:2)
And git causes brain damage.
Or possibly is the [i]result[/i] of brain damage.
Re: (Score:3)
Mercurial is missing a few key features that make it less appropriate for solving some difficult collaboration problems, and some of those turn out to be important to people outside of Linux kernel development too. That's the technical part underneath what you're dismissing as a fanboy phenomenon.
Allowing octopus merges and making it easy to rewrite/rebase local branches are two such important features. The way those fit together into git's remote tracking branch concept is a particularly useful mental mo
Can't we settle this like geeks? (Score:5, Funny)
Given sufficient time, I'm sure we can generalize away any petty disagreements!
Re: (Score:2)
Mercurial is actually making some strides in that direction... the hg-git [github.io] mercurial plugin lets you push/pull from git repositories, and it transparently integrates itself into the mercurial command line, not as a separate tool.
Re: (Score:2)
Good call. I'll get started on the Emacs macro right away!
The usual ESR self-aggrandizement (Score:5, Interesting)
Apparently Eric has decided he has been out of the public eye too long, as he posts yet another self-aggrandizing screed on a mailing list.
Seriously, after the kernel configuration debacle and his hysterical rants on the Fedora list, does anyone take this man seriously anymore? Look at how he represents himself: an expert on source control systems, whose highest achievement is moving troff to a git repo. It's kconfig all over again.
Re: (Score:2)
Re: (Score:2)
I don't know anything about ESR's recent history, but I learned a lot from reading his book, The Art of Unix Programming [amazon.com].
emacs on bzr? (Score:2)
This is the result of picking a tool based on "what's trending this hour", "their website looks better", "look, they have an ipad app", "the ceo's son uses this" etc..
Happens wa
The real question is about Emacs (Score:5, Interesting)
Re: (Score:3)
Re: (Score:2)
This; a million times this. The problem is exacerbated by the long-running trend towards computers as consumer appliances, instead of specialised tools. I grew up coding in BASIC on an Acorn Archimedes, which was state-of-the-art at the time; when my family finally "upgraded" to a Win98 PC, the second thing I noticed (the first being the massive jump in performance) was the lack of printed reference manuals and built-in development tools. When I was at university, the teaching language was Object Pascal
Re: (Score:2)
Lex and YACC are awesome tools, but they're quite special purpose when compared to something like an editor. Also these days its much less common to devise special purpose languages for data interchange tasks; tasks I would have used lex and yacc for twenty-five years ago I'd do in XML or JSON today.
It took a long time to wean myself off of Emacs and onto Eclipse, but the thing that finally did it for me was refactoring support. The one thing I still use Emacs for is poking around very large data files,
Re: (Score:2)
I've been using Emacs for a couple of years now and think it's pretty good. The most important bug IMHO is its lack of concurrency. Connecting to remote machines with TRAMP is great, but having the whole app become unresponsive for a period is jarring. Also, I have to run GNUs from a separate process so I can actually do some work while it refreshes.
Giving ELisp lexical scope is a good start in this direction, since it allows for fully encapsulated closures which won't trample over each others' namespaces.
The Emacs userbase is still growing (Score:5, Interesting)
> I wonder how younger generations do appreciate Emacs
Someone said that to me in 2002. I was a new Emacs user then, and I'm still using it now.
Debian's package install stats suggest the Emacs user base is steadily growing:
http://qa.debian.org/popcon-graph.php?packages=emacsen-common [debian.org]
And the developer mailing list is very active and high-quality:
https://lists.gnu.org/archive/html/emacs-devel/ [gnu.org]
However, Hip-Hop's future is looking less certain:
http://www.theonion.com/video/there-are-people-in-world-who-are-concerned-about,32163/ [theonion.com]
Re: (Score:3, Insightful)
Emacs ... byzantine key combos
What are you talking about? It's not Emacs' fault that some later programs decided to break compatibility.
Re: (Score:3)
It is absolutely Emacs' fault that that the default keybindings are still set up for MIT Lisp machines (Super and Meta? In 2014? Really??).
It is also emblematic of the problems within Emacs' user community that they can say with apparent seriousness that the problem is every keyboard and OS since nineteen-seventy-fscking-five "breaking compatibility" with Emacs, instead of their own failure to adapt to a changing environment.
What prospects of Emacs left to be damaged? (Score:4, Insightful)
Is there still any prospect at all? I left 5 years ago because they stopped improving anything for a decade.
A decade ago it was comparably decent IDE for Java and C++, today it's nothing thanks to incomplete project management UI, incomplete file tab support, and over-reliance on ctags which can't really understand syntax and parse things properly, and their inability to work on on-the-fly static code-analysis, which requires basic threading support that (still) isn't done.
the same could be said for Vim as well. While both remain very efficient text editors, they no longer matter because it's far more important to study and write correct code than to writing code faster, and other IDEs have improved on such parts drastically these years.
Emacs is awesome!! (Score:2, Funny)
No, it doesnt (Score:2, Troll)
It needs to move to /dev/null Worthless piece of bloated garbage. Its 2014, it has no place in the modern world.
Re: (Score:2)
Emacs is an OS (Score:2)
Re:Emacs is an OS (Score:4)
Like many things, Emacs doesn't have version control as much as it interfaces or wraps it. You know, dired wraps /bin/ls (and mv and rm), compile wraps e.g. /usr/bin/make, tramp wraps ftp and grep wraps .. um .. grep. And vc wraps version control:
Emacs is the glue that binds together all the little tools into a more powerful whole. And not just Unix tools, e.g. I wrote a function (3 lines of elisp) that launches Windows Explorer with the current file pre-selected. On a Mac the same key combo launches Finder. You seriously underestimate Emacs by calling it a mere OS...
By the way, I don't use vc.el myself. Never have. Nor do I use Emacs to read mail. Unlike other editors of more monolithic design, you don't pay for what you don't use.
Hate to go completely off-topic, here... (Score:3)
But, while ESR is likely right, my kneejerk response is to say, "No!" Why? Because ESR is such a freaking windbag, who's so damn convinced of his own moral and intellectual superiority. His whole schtick gets really tiresome after a while.
$.02.
Python should do the same. (Score:2)
For the same reasons.
The editor wars continue in version control (Score:2)
Re: (Score:3)
Two complaints, one non-complaint (Score:3)
Two complaints, one non-complaint
Complaint #1: ESR's reasoning, and the only theoretically justifiable one in the entire blog post, is that bzr is slow. All version control systems are slow. The more you keep the modification history around, the more people you have hitting a single repo, the slower they get.
When Apple moved from CVS to SVN, it was because of two things: The first was Linux-based Apple RAID boxes that Apple was OEM'ing from a third part had some bug where they lost data, and this messed up some of the CVS backing files. With a single backing file, as in SVN, this situation only improved because the switch came around the time the bugs in AppleRAID had already been resolved; otherwise, it would have been the whole repo, not just a couple of files, getting screwed up. The second one was that the CVS repo was slow. This was pixable by sharding it so different projects used repos on different servers. The new SVN server on the other hand, was lightening fast ... until we moved over the entire modification history from the CVS server to the SVN server, and all the CVS users stopped hitting the CVS server, and started hitting the SVN server instead. Then the SVN server was just as slow as the CVS server had been, and we were back to the status quo.
The lesson you should take from this is that it doesn't matter your version control system is slow, because they *ALL* are, and so it doesn't make a difference what VCS you end up using, as long as the primary maintainer likes it.
Complaint #2: ESR claims that, because it's in bzr and not git, it's harder to submit patches to EMACS. This is patently false. The older an Open Source project is, the harder it is to submit patches, and you VCS doesn't matter to this, because the difficulty isn't the VCS, it's the politics of change.
As projects get older and older, there's kingdom building that happens, and it's nigh impossible to get a change in that's going to cross one or more boundaries between kingdoms. The more kingdoms you code changes go into, the more code it changes, the more impossible it is to get those changes in. One of the big deals here is the "I won't approve your patch until you rewrite it the way I would have written it if I'd done it, but since I don't have the time (except to review and complain, of course -- then I have buckets of time), I'm not going to take the patch". This is called "time to get a new king instead of an asshole" effect for short.
The lesson you should take from this is that it's not the VCS, it's the politics, and yeah, if you switch VCSs, you'll get a window when not everyone is up enough on the new stuff that they can get in your way, if you're working with smart people: they will be. So switching VCSs is typically a means of cutting through red tape that shouldn't be there in the first place, and it never works for long.
Non-complaint #1: ESR states that bzr is "old and crufty" and that "it's mailing lists are dying and patches are dwindling", and that this is somehow bad.
It's not bad: that's what happens with mature, purpose-built tools: once the damn things work well enough, unless you have someone pushing change for changes sake to get themselves into the commit log or README file, the changes dry up, and the tool tends not to change. So activity on a mailing list or in a commit log for a mature tool is not a way to value that tool.
Before anyone jumps on me for this posting please read this: I personally don't use bzr, so I have no skin in this game. I've used over a dozen different VCSs, and with the exception on one that ran on DOS, which I would never use again, they're all pretty much solving the same problem, and you shouldn't really give a damn about what a projects primary maintainer likes to use, as long as the thing does the job.
Re: (Score:2)
Heretic, apostate, blasphemer! (I can never remember the differences between the three).
Re:Pretty sure... (Score:4, Informative)
A heretic uses XEmacs. An apostate doesn't take the time to install Emacs where it is not available, instead using vi. A blasphemer suggests that emacs and vi are essentially interchangeable, denying emacs' uniqueness and primacy. All three prefer emacs; only pagans and barbarians prefer something else.
Re: (Score:2)
Heretic, apostate, blasphemer! (I can never remember the differences between the three).
The last two were not games released by Id Software.
Re: (Score:2)
Re: (Score:2)
Re: (Score:3)
Why should it innovate? Emacs is roughly as good at being Emacs as it is likely ever be.
I became disenchanted with Gnome and KDE, not because they did new things, but because they couldn't do those new things without undermining what I liked about them. As for emacs, the world may have passed it by, but it probably has more users today than when I first learned it in the 1980s. That's healthy enough for an ongoing project. It doesn't have to, say, beat Eclipse at being an IDE, emacs has to meet the needs o
Re: (Score:2)