Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

ESR seems a bit over the line with this mail, but what never ceases to amaze me is how RMS is disconnected with the present technology:

>From its name, I guess that LLDB is a noncopylefted debugger and that some might intend it to replace GDB. But I don't know if that is so.

This is just one of many, in the recent arguments he has stated several times that he doesn't understand how automated code refactoring works, he has not experience with IDEs, and things of the like.

Beside the ideological point, he does not seem a person capable of steering important projects, at least when it comes to compiler technology. He just doesn't know enough anymore.



You have to realize that RMS's goal isn't to "steer important projects", and you should give him more credit in that he probably could be "connected with the present technology" if he wanted to.

The fact that "he doesn't know enough anymore" doesn't say much about Stallman; instead it says a lot about how his goal of making sure software is libre has been shoved aside by everyone else for other priorities.

Also, RMS is one of the most humble people on the scene, and will freely admit to not knowing something until he lives and breathes it.


> The fact that "he doesn't know enough anymore" doesn't say much about Stallman

Yeah, actually, it does: specifically, its says a lot about his qualifications to apply theoretical ideals to real world situations. To intelligently plan how to achieve the goals of the ideology, you need more than devotion to and deep understanding of the ideology, you need deep understanding of the existing context to understand the pragmatics of moving toward the goals of the ideology in that context.


But RMS has never really been pragmatic in the sense I think you mean here. RMS is the spiritual leader, other people have always done a lot of the implementation. When the principles collide with the ability to do some specific thing, RMS has pretty much always come down on the side of the principles. This is nothing new.

Just because you disagree with some of the results of his principles, probably because you're focused on getting shit done in your little corner of the world (I'm typing this on a Mac, I'm just like you), doesn't mean that RMS is somehow fundamentally flawed or incapable of being the philosophical leader of a movement.


> But RMS has never really been pragmatic in the sense I think you mean here.

I didn't use "pragmatic" as an adjective describing RMS or a role RMS might be in at all, so I'm not really sure what you are saying. RMS is, and has for a long time been, acting in the role that I stated that the "he doesn't know enough anymore" [about the way working developers now actually build software] claim is relevant to his suitability, which is simply making specific recommendations about what software features and usage restrictions should, or should not, be present to achieve the goals of his ideology.

> Just because you disagree with some of the results of his principles

My position on Stallman's principles is orthogonal to my belief that his particular recommended policies are often counterproductive to achieving his stated principles. The post you are responding to is about the latter, not the former.


But it doesn't matter how developers build software today. When RMS started, software developers used (largely) closed IDEs, operating systems, compilers, etc. His principles are an entirely separate matter and he has stated over and over and over again that he doesn't care if his principles are inconvenient or if adherence to his principles causes technology to advance at a slower rate or software to be less useful. So his knowledge of "modern" software development really doesn't matter.


> But it doesn't matter how developers build software today.

It does if you are trying to make choices about how to use management of which features to include or exclude in copyleft software targeted at software developers as a mechanism to promote the goals of an ideology with a specific view of software freedom.

> His principles are an entirely separate matter and he has stated over and over and over again that he doesn't care if his principles are inconvenient or if adherence to his principles causes technology to advance at a slower rate

But he presumably cares about whether his decisions result in a world that reflects his principles less rather than one that reflects his principles more. And that's where knowledge of the present pragmatics are important when it comes to tactical choices to advance his ideology.


> But he presumably cares about whether his decisions result in a world that reflects his principles less rather than one that reflects his principles more.

No, not if it means compromising the principles themselves. That's the beauty of RMS, he really isn't pragmatic. He isn't willing to compromise, at all, ever. And that's why he is so important, because he represents an unwavering ideal, you don't have to worry about him moving the goal posts, if you hitch yourself to RMS and let out 100 feet of rope, you know that you will always be 100 feet from free software purity.


"You have to realize that RMS's goal isn't to 'steer important projects'"

Not as such, but as long as he's doing it for so many marque GNU/FSF projects....


Out of necessity and as a means to an end, because nobody else sharing his philosophy is willing to do it.


> Out of necessity and as a means to an end, because nobody else sharing his philosophy is willing to do it.

I think that's a pretty striking description of failure in promoting an ideology.


Or at least his interpretation of that ideology.

I'd be really surprised if most of the people working on these marque GNU/FSF projects weren't happy with GPL/copyleft, at least for these "complete" programs (as opposed to libraries like the GPLed GNU Scientific Library).


> I think that's a pretty striking description of failure in promoting an ideology.

Are you actually saying you think the FSF have failed?


> Are you actually saying you think the FSF have failed?

I think the FSF has failed in making popular RMS's extremist exclusionary ideology which sees the eradication of non-Free software as a moral imperative, even at the cost of technological progress and of the utility of Free software for its technical, rather than ideological, functions.

I think the FSF has succeeded in using copyleft licensing to create a critical mass of Free Software which established well the pragmatic case for Free software, and -- because the pragmatic case for Free software has been so well made -- has demonstrated (entirely unintentionally) the conflict between (larger, AFAICT) group those whose goal is increased availability, utility, attractiveness, and use of Free software and the (smaller, again AFAICT) group whose goal is RMS's one of eradication of non-Free software and avoidance of Free software utility in producing/generating non-Free software.


it says a lot about how his goal of making sure software is libre has been shoved aside by everyone else for other priorities.

I'd call this a deep problem with how the FSF has operated to-date. It's not that libre software isn't important, or hasn't had a huge impact on the software world. But the very idea that it should be perceived as the ultimate priority in the existence of software is wrong. That viewpoint fails to understand or acknowledge how people use software and what other important risks they perceive and face related to software. As such, our libre utopia falls apart because we didn't understand that it had to be inhabited by real humans.

he probably could be "connected with the present technology" if he wanted to.

Case in point. Understanding how people use and are affected by "present technology" is key to follow-on innovations after copyleft. IMO, a significant risk to libre software is that its social innovation has not continued to adapt to the changing software landscape. For a time, that was fine because we had the heyday of free software's expansion to worry about. But there's been this tacit (or maybe explicit) assumption in the community that the GPL and "belief" in libre software are enough. But in fact, I'll posit that the real goal is to build sustaining social infrastructure for free software and information culture.


We're talking about a C compiler and debugger. Lots of very technically knowledgable people shun IDEs and automated refactoring in that space.


Sure, that's a valid choice.

But when you're implementing a language ecosystem, proud ignorance of other peoples' usage patterns is just embarassing.


Does proud ignorance of IDEs indicate that RMS may be impolitic or undiplomatic? Yes. Does it indicate he "is disconnected with the present technology?" In the world of C/C++, I don't think being willfully ignorant of IDEs and automated refactoring means you are out of date in your technical knowledge, as the grandparent post implied.


I do. There's a reason that CLion is becoming a thing (can't happen fast enough) and Visual Assist has been a de facto standard in C++ development on Windows for years. The tools exist, they just don't exist in Emacs.


Is RMS still involved with gcc at all? (Non-philosophically?)


He claims not doing any development himself for several years now, so I guess this means no.


The SDK I'm working with at the moment has been entirely coded in VIM and is the only layer between our code and the hardware.

The fact that ESR doesn't use an IDE or automated refactoring is perfectly normal. It's those not able to work without using these tools who scare me.


Wanting an IDE is not the same thing as needing an IDE to be able to work. You're excluding a rather big middle, there.


Only in the UNIX world.

In the game development world, embedded systems and desktops we like our IDEs.


I work on AAA games and I would love to go back to OSX and Emacs if only the tools and debuggers weren't exclusive to Windows and VS.


The UNIX philosophy is to compose stuff out of small tools. I think that you could see what most UNIX programmers use as an IDE, but it is just their personal combination of vi/emacs with refactoring tools (from primitive sed to eg Go's rename tool), etc.


We are working with certain expensive application, developed by one big multinational, that has virtual machine for extending the funtionality by the user (or more realistically, contractor).

The supplied IDE for development is Emacs.


Is it a GIS application?


Yes, it is.


If you look in my comment history you may be able to work out what I do. :-)


If you were sitting in Elisabeth House, there's a chance we met ;-)


Don't tell me that Smallworld is still started from Emacs???


It is an option. However, I'm one of those guys, who like it that way :-)


Doesn't have to be, and there is an Eclipse dev environment.


You can only speak for yourself. Lots of game developers, including myself, do not commonly use heavyweight IDEs.


1. Are you a professional--i.e., making rent off of it--game developer?

2. Are you developing for consoles or PCs, or for some other platform?

3. Do you program in a language that benefits from IDEs, specifically C, C++, C#, or Java?


Speaking for myself.

1. yes 2. yes 3. yes

Now, while I am forced to use Visual Studio as a build system and for it's integrated debugger. I too, generally use other tools for actual development. And I'd love if I didn't have to use VS for it's debugger either.


I'm genuinely curious--what problems have you had with the VS debugger? It's generally quite a bit nicer than the alternatives I've used.


It can only run from inside the IDE and requires extensive use of the mouse and GUIs. This is wasting precious screen space and the mouse is often slower than just typing and composing commands.

Also, since everything is tightly integrated, when something crashes the whole goes down. This can be frustrating when your project takes almost a full minute to load in VS (it's mostly VisualAssistX being busy parsing files and the perforce plugin syncing up).


1. Currently No, but for 5 years, yes. Now only indie in my spare time.

2. I was primarily developing for consoles (PS3, X360 mostly), with some PC work. Now primarily PC and Mobile.

3. Over 70% C or C++. In industry (AAA Console) I was probably 90% C++.

Lots of people do use IDEs in the industry, but lots of people also don't. It's a choice.


The first thing I do when beginning work with a new embedded platform is figure out how to bypass whatever wacky IDE its vendor wants their customers to use.


I am not sure many computer scientists care about the game development world apart from maybe VR+Other cutting edge prototypes that we could only benefit from if gaming funds it.


Very narrow minded and ignorant, typical of a certain type of developers. Video game development has contributed volumes to algorithm optimization, physics and physics approximation, computer graphics, design, industrial design, astrophysics, etc. Virtually every field of computer science.


Not that many.

Except if Windows C++ developers (most of which use VS) don't qualify as "technically knowledgable people".

And who is doing the judging?


There are lots of people who are not Windows C++ developers. Just because there are lots of people who DO use IDEs, doesn't mean there aren't lots of people who don't. Don't take his point so personally - he's just saying RMS ignorance is not that unusual.


I agree with what you said.

I take his phrase as to mean that those people are justified or the majority.

That is, the phrase "lots of very technically knowledgable shun IDEs and automated refactoring" seems to me to imply that technically knowledgable people do/should shun IDEs and automated refactoring in general.

But, as we all know, technically knowledgable people fall in both camps (pro and against IDEs).


> ... Windows C++ developers (most of which use VS) ...

There is no option for anything else on Windows, though. The shell isn't anywhere near as prevalent and you have no other go-to method at all. The whole ecosystem is point & click, which means you'll get nothing but headaches from trying to use a more UNIX-style toolchain in lieu of an IDE.

It's not exactly a point for IDEs when, even if you wanted to, it'd be a hassle to try to integrate another type of workflow into an OS that clearly is not made for it.


It's not just that his knowledge is outdated, it's also that his philosophical principles will always take precedence over everything else, which includes sound and/or pragmatic technological decisions.

I'm not fond of esr in general but he's spot on with this post.


> It's not just that his knowledge is outdated, it's also that his philosophical principles will always take precedence over everything else

To be fair to RMS he has tried to consider opposing views in the past when he can see and understand the need behind the proposition.

In this case the problem is that RMS doesn't know enough C++/Java/C#-style OO programming, and can't understand why you would need refactoring tools to rename a method, because in his C-style world a search and replace should be sufficient.

And because he doesn't see the need himself, he wont consider it a valid use-case which GNU/GCC/Emacs needs to support.

This already has lead to chilling effects: People have stopped working on adding GCC-based support for auto-completion and similar functionality. RMS may be stubborn, but he's not stupid: He sees adding the proposed LLDB/LLVM-based functionality as a direct consequence of this, and bypassing his "authoriity" on the GCC-issue and thus an "attack" on GCC and the goals of GNU/FCC itself.

In my mind, he is obviously right that people are side-stepping his judgement, but he is wrong that this is an attack on free software: People just want to make Emacs better, and he is vigorously fighting them to make it not happen.

And now we have RMS fighting to artificially limit free software, in his mind to preserve it. I'm not sure how long this has been going on now... A decade?

To me forking core GNU projects to leave RMS out just in order to get things done is increasingly looking like the only option.


>and can't understand why you would need refactoring tools >to rename a method, because in his C-style world a search >and replace should be sufficient.

Is that really the underlying reason, or are you making it up ?

From what I've seen, he doesn't want to expose internals of GPL software such that non-free software can be built on top of it, which is a fair stance to take - even if you and I might disagree to it as it as a consequence might prevent our life to be easier/better - at least in the short term.


The direct and inescapable consequence of this is that he makes things more difficult for other GPL (and non-GPL-but-free) software, just because maybe some closed-source software might do something with it in a day and age when they can already just use clang.

Dying on this hill makes him a bad steward of the projects other people have entrusted him with (and fortunately the maintainer of the Emacs debugger stuff is ignoring him), while also making everybody else's lives suck a little more.


"People just want to make Emacs better, and he is vigorously denying people the features they ask for."

And while I have as of yet no opinion on the concept, a lot of people believe he's hypocritical for supporting non-free OSes in GCC and Gnu Emacs.


I believe the explanation here is that the FSF/GNU is willing to support their tools on non-free OSes as long as those tools work the same as the do on free OSes, and in particular, don't work "better" as compared to the free version because the non-free OS provides additional services somehow.

They don't want their tools to be superior or have better functionality on a non-free OS.

For example, emacs wouldn't take a patch that hooked into speech recognition provided by the OS, unless that was also available on a free OS. And say Microsoft or Apple provided powerful functionality for debuggers via a system api (and this same functionality isn't on a free OS) - gdb would not take a patch that used it.


Yes, this is a perfect example of the difference between open source and free software.

I remember Stallman saying something along the lines of "even if it weren't as good as proprietary software, it would be important for people to use free software" over a decade ago.

The fact that releasing the source code, and allowing people to modify it, leads to high quality software is a nice perk as far as he's concerned; but it's not the reason for the FSF. The FSF exists so that programmers aren't helpless when their system breaks.

Raymond's arguments, on the other hand are all about which compiler or debugger is better, assuming the compilers and debuggers being compared are open source.


Note this is explicitly RMS' philosophy, which hasn't changed. For him, freedom takes precedence over technological quality. He has been saying this for ages, for example when he explained that Open Source (as represented by Eric Raymond) and Free Software (as represented by the FSF) have very different goals.

If you accept that RMS' worldview is about freedom, even if it sometimes means sacrificing some technological advantages, you'll see his position is consistent and reasonable.


The problem is that the number of users is directly proportional to technological quality.

People use gcc over non-copyleft compilers because they perceive it as technically superior. People use emacs over non-copyleft editors because they perceive it as technically superior.

Sacrificing technological quality to fulfill an agenda will actually have the opposite effect, because it'll drive users to non-copyleft solutions in order to get the better piece of software.

It's not just the number of users, either. When your software is dominant, you're in control. You get to have a say in the direction of the technology, and you get to prevent the lesser players from having their say.

By sacrificing technological quality for ideological purity, RMS is giving up both his userbase and his dominant position he can use to prevent non-free software from taking over.


His position is certainly consistent but definitely not reasonable.


> it's also that his philosophical principles will always take precedence over everything else

Exactly. I respect RMS, and his position that proprietary software is immoral, but I also know that position won't be shared by many (maybe even most) of the people who care about free software.


Saying Stallman isn't qualified to steer major projects because he isn't familiar with IDEs is a pretty weird point to make. Emacs is a far more advanced environment than any IDE I have used, and often the so-called "features" of IDEs are to deal with self-created problems: Java/C# build tooling in IDEs, for example, is there to deal with the fact that the build processes for these languages is massively overcomplicated. I can't speak for Stallman, but I am confident that I'm accurately representing the opinions of a lot of Emacs users when I say that IDEs provide a leaky abstraction over systemic design problems rather than solving them.


ear periodically shoves his oar into the FSF world, occasionally with faint malice about the whole business. He really isn't into Free software as much as he is into Open software. You can't read him as a disinterested techie and come away with correct views.


I think the many replies that point out that you don't need an IDE or code refactoring if you are a real programmer miss that my point is not that you need to use advanced tools to develop a compiler, is that you need to write a compiler that supports those tools for the people who like to use them.

And to write such compiler, you must as a minimum know what refactoring tools and IDEs are.

Also, I'm sure you always get naming and signatures right at the first try, foreseeing every possible evolution of the system. I don't, and since I don't like my programs to turn into huge piles of horror, I enjoy refactoring tools a lot.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: