GNU sed 4.2.2 released; maintainer resigns
| From: | Paolo Bonzini <bonzini-AT-gnu.org> | |
| To: | info-gnu-AT-gnu.org, GNU Smalltalk <help-smalltalk-AT-gnu.org>, "'bug-gnu-utils-AT-gnu.org'" <bug-gnu-utils-AT-gnu.org> | |
| Subject: | GNU sed 4.2.2 released, and a rant from the maintainer | |
| Date: | Sat, 22 Dec 2012 17:10:19 +0100 | |
| Message-ID: | <50D5DB6B.1010900@gnu.org> |
I am pleased to announce the release of GNU sed 4.2.2. The latest release has the following bug fixes and new features: * don't misbehave (truncate input) for lines of length 2^31 and longer * fix endless loop on incomplete multibyte sequences * -u also does unbuffered input, rather than unbuffered output only * New command `F' to print current input file name * sed -i, s///w, and the `w' and `W' commands also obey the --binary option (and create CR/LF-terminated files if the option is absent) * --posix fails for scripts (or fragments as passed to the -e option) that end in a backslash, as they are not portable. * New option -z (--null-data) to separate lines by ASCII NUL characters. * \x26 (and similar escaped sequences) produces a literal & in the replacement argument of the s/// command, rather than including the matched text. GNU sed 4.2.2 can be downloaded from the following URLs: * http://ftp.gnu.org/gnu/sed/sed-4.2.2.tar.gz * ftp://ftp.gnu.org/gnu/sed/sed-4.2.2.tar.gz * http://ftp.gnu.org/gnu/sed/sed-4.2.2.tar.bz2 * ftp://ftp.gnu.org/gnu/sed/sed-4.2.2.tar.bz2 I am less pleased to announce that I am resigning from maintenance of GNU sed (after 8 years) as well as GNU grep (after 3). I have also given up commit access to Autoconf, Automake, Libtool, gnulib, libsigsegv and Bison. For fellow GNU maintainers and to some external observers, the relation between this announcement and Nikos Mavrogiannopoulos's note ("gnutls is moving", http://lwn.net/Articles/529558/) will not be a surprise. Like Nikos, I do support the ideas behind the FSF as strongly as ever; and I am grateful to the FSF staff for the support I have had since I joined the GNU project in 1999. However, like him I am in major disagreement with some decisions of the FSF and of Richard Stallman. This boils down to these three points: 1) To put it somewhat bluntly, the only way for a GNU project to be a leader in its field is to _ignore_ whatever recommendations come from the FSF. I don't think Stallman was involved when the GNU Compiler Collection switched from C to C++, or when GNOME chose JavaScript as the extension language for gnome-shell. Sometimes, having a single person take executive decisions is a good thing. It is likely not possible to convince a diverse group such as the group of GNU maintainers to agree on coding standards for C++, for example. However, all Stallman had to offer on the topic was "We still prefer C to C++, because C++ is so ugly" (sic). As a result of this, the GNU coding standards have not seen any update in years and are entirely obsolete. This is not limited to the topic of programming languages. Something like libabc (http://0pointer.de/blog/projects/libabc.html) ought to have come from the GNU community, but it didn't. There is also no mention of security in the GNU coding standards. They still say "Unix programs often have static tables or fixed-size strings, which make for arbitrary limits; use dynamic allocation instead" but sometimes arbitrary limits are a necessity when dealing with possibly hostile input. 2) GNU is doing too little for the FSF, and the FSF is doing too little for GNU. Due to the huge success that free software had since the appearance of the GNU manifesto, distributing free software is absolutely not the exclusive of GNU anymore, and that's a good thing. On the other hand, the FSF is not doing anything to value the GNU "brand". Projects such as gnash are bound to have constant funding problems despite being (and having been for years) in the FSF's list of high priority projects. Other projects in the list do not exist at all, because they would require man-years of development but people who want to do the work must, again, do it on their own money. This is not enough to be relevant in a world where free software is dominating in so many fields. It is absolutely not enough if you want to remain relevant in a world where free software is called "open source" and most people actually do not care about the user's freedoms. 3) Attaching the GNU label to one's program has absolutely no attractiveness anymore. People expect GNU to be as slow as an elephant, rather than as slick as a gazelle, and perhaps they are right. Projects such as LLVM achieve a great momentum by building on the slowness of GNU's decision processes, and companies such as Apple get praise even if they are only embracing these projects to avoid problems with GPLv3. Being part of GNU is not an emblem of technical leadership anymore, either. "If it is done poorly in Unix, feel free to replace it completely with something totally different and better". Is this still true of today's GNU? Barring any large change in policy and momentum from GNU, these three reasons are bound to be the first step towards the irrelevance of GNU. And barring any such policy change, I have no reason to be part of GNU anymore. I didn't resign commit access for two projects only: GCC and GNU Smalltalk. I still have not decided what to do about GNU Smalltalk. Work and family obligations forced me away from the project that introduced me to free software back in 1996. I would like to move it within the GNOME umbrella, but again that is not possible without devoting serious development effort to it. Suggestions are welcome. For more information about the vicissitudes of gnutls, you could read the good summary at Linux Weekly News. Non-subscribers can access it at http://lwn.net/SubscriberLink/529522/854aed3fb6398b79/ (and are urged to support LWN, of course!). Thanks for reading this. Paolo
Posted Dec 22, 2012 22:15 UTC (Sat)
by aigarius (subscriber, #7329)
[Link] (76 responses)
Posted Dec 22, 2012 23:36 UTC (Sat)
by HelloWorld (guest, #56129)
[Link] (68 responses)
Posted Dec 23, 2012 0:25 UTC (Sun)
by udp (guest, #80701)
[Link] (59 responses)
Posted Dec 23, 2012 3:11 UTC (Sun)
by JoeBuck (subscriber, #2330)
[Link] (1 responses)
One nice feature of LLVM is that the competition has made it easier to push back against RMS's innate conservatism. His typical reaction to significant proposals has often been something like: this change might be exploitable by the enemies of free software, so let's not do anything but talk about it for a year and a half. Now we can say that if he blocks features that users and developers want and need, everyone will drop GCC and switch to LLVM. He now seems to get this, so it's been easier lately.
Posted Dec 26, 2012 22:27 UTC (Wed)
by stevenb (guest, #11536)
[Link]
I've contributed to GCC for many years now, but and it's still a complete mystery to me why the EGCS project had to merge back and become GCC. I can't help feeling that EGCS stand-alone, without the "help" of the FSF and RMS, would have been much better off, long term.
Posted Dec 23, 2012 7:54 UTC (Sun)
by lu_zero (guest, #72556)
[Link] (56 responses)
You can do in C everything you do in C++ and be as terse if not more.
The C++-subset used by Opera, fdk-aac and harfbuzz is a good trade-off for non-system libraries and tools. Yet the system compiler (and incidentally C++ libraries among the rest) should support the most basic language (for bootstrapping) so it could be compiled properly no matter which is the compiler currently available.
Posted Dec 23, 2012 11:31 UTC (Sun)
by khim (subscriber, #9252)
[Link] (36 responses)
This is kinda pointless argument. I mean: of course! Just embed interpreter of your favorite language and stuff the real program in a string. This being said C++ can be used to improve readability and maintainability. Gold is great example: in cases where you need to support different types similarly yet slightly differently where "real" C program will be forced to use plethora of macro definitions which are not just harder to write and read but which are extremely hard to debug (and yes, both classic ld and gcc suffer from this malady) C++ program just uses templates with partial specialization. The big question is not whether it's possible to use C++ to write more readable and/or maintainable program but specifically if GCC developers will be able to do that: C++ enthusiasts are notoriously hard to keep in check and this is where coding standards are vital. Standards which RMS quite expressly refuses to develop.
Posted Dec 23, 2012 15:08 UTC (Sun)
by lu_zero (guest, #72556)
[Link] (35 responses)
Gold is a great example on why clean slate rewrites can work decently w/out the second system syndrome. Yet gold is a really small subset of ld.
Posted Dec 23, 2012 16:57 UTC (Sun)
by khim (subscriber, #9252)
[Link] (33 responses)
Where is said point, pray tell? In the end you can just take Cfront and extend it enough to prove that everything you can do in C++ you can do in C, too—but this is an illusion: yes, that proves that theoretically some kind of superhuman can do in C everything real human can do in C++, but we don't have superhumans here, only humans—and they can do things in C++ which they can not do in C. This has nothing to do with my opinions and everything to do with facts. Templates may be ugly and awkward to use, but they can used by real-world humans to write nice libraries like Eigen. C macros can not be used for this goal: when people try to do that (see ATLAS or FFTW) they usually invent their own macro system to do that. And that's my point: C macros are not suitable for the task if real humans are involved while C++ templates are suitable. May be, but it implements everything needed for most used and it's much easier to support because of C++ template system.
Posted Dec 23, 2012 22:33 UTC (Sun)
by lu_zero (guest, #72556)
[Link] (32 responses)
That said, I never said C is perfect, just that between broken preprocessor and the demented templating system I prefer the broken preprocessor.
Had I a choice I would use a saner preprocessor or/and better tools, e.g. having proper annotations so macros can be tracked decently during debugging and error reporting.
Posted Dec 23, 2012 22:54 UTC (Sun)
by Cyberax (✭ supporter ✭, #52523)
[Link] (31 responses)
C is broken because you have to do EVERYTHING from scratch. And in 99% of cases you'd do it much worse than in C++.
Posted Dec 24, 2012 9:19 UTC (Mon)
by landley (guest, #6789)
[Link] (30 responses)
C is more or less a portable assembly language, with minimal abstraction between the programmer and what the machine is doing. If you want to know how something is implemented you can dig in and get all the details, even write your own replacement version (uClibc, musl, dietlibc, klibc, newlib...).
Scripting languages like python, ruby, lua, and so on abstract away memory management and type conversions, providing opaque abstractions that you can use without caring how they're implemented. Is a dictionary a hash table or a tree? Is the garbage collector mark and sweep or reference counting? It doesn't matter, it just works. Scripting languages even do away with the source/binary distinction, running the source code directly with no need for makefiles.
C++ provides thick layers of abstraction built on top of manual resource management and static typing, but most of all on top of pointers (instead of references). C++'s abstractions leak implementation details, and C++ advocates blame programmers for "not using the language right". As for the complexity of the build process, templates are literally turing complete at compile time (there's no guarantee a C++ program compilation will ever terminate) and teaching a debugger to name demangle a function pointer to an overloaded member function in a virtual base class is hard enough without bringing cross compiling into it.
This is a fundamental problem: C is a simple language because it has no abstraction, scripting languages are simple by having opaque abstractions that truly hide complexity. C++ provides leaky abstractions that embody enormous complexity but require knowledge of their implementation details down to the hardware to use correctly. Most of the complexity of C programs comes from the program. A significant part of the complexity of C++ programs comes from the language.
Posted Dec 24, 2012 16:38 UTC (Mon)
by heijo (guest, #88363)
[Link] (2 responses)
And I think it's absolutely excellent at that, to the point that it is the only language widely used in that niche, while other niches have lots of competing languages.
If you want maximum abstraction and programmer comfort at the cost of not being able to generate arbitrary assembly/memory layout or obtain arbitrary runtime behavior and performance tradeoffs, then C++ is just not the right language to use, and I'd recommend Scala or C# instead.
Note however that in some areas like algorithms, data structures and numerics C++ has FAR better support and abstractions than most (probably all) languages, since for instance in Java and C# you can't do arithmetic with variables with a generic type, and C++ probably has more powerful algorithmic libraries than any other language (STL, Boost, GMP++, LEDA, CGAL, LEMON, etc.).
Posted Dec 25, 2012 21:53 UTC (Tue)
by marcH (subscriber, #57642)
[Link] (1 responses)
If that's not the definition of "kitchen-sink" then I don't know what is. Strong agreement with the previous poster.
> Note however that in some areas like algorithms, data structures and numerics C++ has FAR better support and abstractions than most (probably all) languages, since for instance in Java and C# you can't do arithmetic with variables with a generic type, and C++ probably has more powerful algorithmic libraries than any other language (STL, Boost, GMP++, LEDA, CGAL, LEMON, etc.).
By the way: C++ was born under "C with classes" name. Now here is an excerpt from an fantastic interview with the man behind the C++ STL:
"Yes. STL is not object oriented. I think that object orientedness is almost as much of a hoax as Artificial Intelligence. I have yet to see an interesting piece of code that comes from these OO people. In a sense, I am unfair to AI [...] I find OOP technically unsound...."
Posted Dec 26, 2012 3:23 UTC (Wed)
by artem (subscriber, #51262)
[Link]
Posted Dec 24, 2012 19:59 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (22 responses)
There's simply nothing that can replace it. Mostly because any C++ replacement would end up being C++ with a different syntax.
Posted Dec 25, 2012 22:13 UTC (Tue)
by marcH (subscriber, #57642)
[Link] (21 responses)
> There's simply nothing that can replace it.
The "ideal replacement" is to use a mix of languages and manually manage resources ONLY where required: in the critical path. The right tool for each job. In this respect big C++ programs are premature optimization.
It's unfortunately not always practical. For instance JNI is horrible. Fading memories of ocamlmklib look better. How is Python.h ?
Of course it's not just a technical problem: programmers fluent in several (and very different!) languages are hard to find. Teamwork to the rescue?
Posted Dec 26, 2012 0:40 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link] (2 responses)
For example, look at Mesa3D or GIMP.
Posted Dec 26, 2012 15:46 UTC (Wed)
by marcH (subscriber, #57642)
[Link] (1 responses)
I had a 2 minutes look at a tutorial explaining how to write a GIMP plugin in Python and saw nothing wrong with it. It even looked cool. When and how does this fail?
Posted Dec 26, 2012 16:37 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link]
We actually have an example of this - it's called 'Blender'. If you look inside it then you'll see quite a lot of horror when their developers simply had to do some cross-layer hacks to achieve tolerable performance. Because even as a thin glue layer Python is not fast enough.
Posted Dec 26, 2012 16:57 UTC (Wed)
by marcH (subscriber, #57642)
[Link] (17 responses)
... which is OK since it is seldom required.
Apologies for stating the obvious: plain Java (no JNI) is actually one decent answer to C++. Other and unrelated sins aside, Java's abstraction level sits in a very sweet spot. Just far enough from the hardware to avoid tedious and error-prone and insecure coding. Equipped with enough abstractions to enable programming at large.
I suspect .NET is at the very same point in the spectrum.
Interesting that these two are immensely successful in "enterprise" applications and very little on the desktop.
http://arstechnica.com/features/2012/10/windows-8-and-win...
Posted Dec 26, 2012 17:16 UTC (Wed)
by dlang (guest, #313)
[Link] (16 responses)
COBOL was also immensely successful in "enterprise" applications
being successful in that market does not equate to being a great language
Posted Dec 26, 2012 18:34 UTC (Wed)
by marcH (subscriber, #57642)
[Link] (14 responses)
Posted Dec 26, 2012 19:06 UTC (Wed)
by hummassa (subscriber, #307)
[Link] (2 responses)
There is no perfect language. There are lots of languages and development environments, and to each problem there is a proper solution. And the solution depends on external factors (where I work today there are many corporate apps written in Delphi7; why? because we have a lot of tenured developers that are fluent in it, so Delphi7 it is.)
Of course C++ is not a perfect language. Personally, having more than ten years of experience developing and maintaining sofware on both C++ and Java, I tend to prefer some aspects of C++ (especially the algorithmic libraries, STL, boost and others), and I suffer with Java's latencies, XMLims, and endless repetitions of the same thing when I need its nice multitiered web development tools.
For graphical apps, C++ (with your preferred UI toolkit -- mine is Qt) is excellent, I'm sorry, no need to have a multilanguage team. And, having supervised a multilanguage team, I can say one thing to you: a monolanguage team (of the same size/capable of writing the same app) is cheaper, because of the interface between languages, where things WILL get problematic...
Posted Dec 27, 2012 0:12 UTC (Thu)
by marcH (subscriber, #57642)
[Link] (1 responses)
You are really too kind spending time reading it nevertheless and - even better - enlightening it with your post. Thank you so much.
Posted Dec 27, 2012 1:55 UTC (Thu)
by hummassa (subscriber, #307)
[Link]
Yes, I know what sarcasm is and I can even detect it more than 75% of the time!!
Seriously, my "enlightening" comment had one of the following intents:
1. To show off how old I am and that I am here since the dawn or time, or the invention of C++ by Stroustroup, whichever came first (hint: NOT); or
2. To try to break up a language war when there are no two languages really competing.
My point, if in the last post it didn't come across is that there is no competition for C++. There is no competition for Java (ok, maybe clojure :-D). There is no competition for Python, Perl and definitively no competition for my fellow countrymen's Lua.
Posted Dec 26, 2012 19:07 UTC (Wed)
by dlang (guest, #313)
[Link] (8 responses)
In Enterprise Programming, the prior fad was C++. Different languages have different strong points, but just because they are used a lot by some group doesn't mean that they are great languages overall.
in a different field, mortgage backed securities
or as your mother probably put it "If all your friends were to jump off a bridge, would you do so as well"
Posted Dec 27, 2012 0:08 UTC (Thu)
by marcH (subscriber, #57642)
[Link]
> in a different field, mortgage backed securities
Anything even more distant and off-topic?
> In Enterprise Programming, the prior fad was C++
... and it got replaced for some reason(s) [excellent point]
> "If all your friends were to jump off a bridge, would you do so as well"
This can explain to some extend why C++ got replaced by _only a few_ competitors but it's not enough to explain why C++ lost the throne. You don't get fired for buying the same as everyone else but you do get fired for wasting time and money throwing away for no clear benefit older technology that do the job. Many CEOs and CFOs could not care less about technology - even less technology fads.
Posted Dec 28, 2012 12:34 UTC (Fri)
by khim (subscriber, #9252)
[Link] (6 responses)
Thanks for the reminder. Absolutely not. The prior fad was called Visual Basic (by some estimates half of the “programmers” in circa 2000 were Visual Basic programmers. And before that it was xBase (dBase, Clipper, etc). The fact that enterprise programming graduated to some [relatively] modern and sane language is kind of astonishing, but it just shows that “enterprise programmers” are improving. “Enterprise programming” is not about good code. It's as in the following dialogue: Chode talks about saving big on the “dutritium rods” and “enterprise programming” is about saving big on the software engineers but the principle stays: it's about something barely functioning but “even cheaper then “cheap, cheap, cheap””. Enterprise programming do advance over time: remember that it started with “ADD b TO c GIVING a” because “a = b + c” was considered too cumbersome for these “cheap, cheap, cheap” programmers. If you'll view evolution of “enterprise programming” from this POV then Java is indeed the pinnacle of said evolution: you can finally easily construct anything you want in the “enterprise language” (you don't need these expensive C++ programmers to create “components” now! yay!) and language even tries to detect and report most problems—what's not to like? As usual, the fact that some language is widely used by “enterprise programmers” probably means that is's too inefficient to use for the projects where people actually know what they are doing, but, gasp, it's finally language which you can actually use to create [somewhat] efficient programs! Finally, after all these years!
Posted Dec 28, 2012 21:22 UTC (Fri)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
Posted Dec 29, 2012 1:15 UTC (Sat)
by hummassa (subscriber, #307)
[Link]
That's why I don't understand how can people can find it ugly. :-D
Posted Dec 29, 2012 1:39 UTC (Sat)
by dlang (guest, #313)
[Link] (2 responses)
Along similar lines, many of these same managers see DevOps as a way to eliminate those expensive *nix admins (I've heard many people use this as an excuse for using Windows, even in non-profit orgs with *nix people volunteering)
and many such managers are embracing the "cloud" because it again lets them eliminate expensive admins, and in addition the expensive facilities people
Posted Dec 29, 2012 11:51 UTC (Sat)
by man_ls (guest, #15091)
[Link] (1 responses)
I see value in having a homogeneous set of workers which can both work on development and administration; in fact that is how I prefer to work. Having two worlds where one side hurls undeployable code to the poor sysadmin side creates unnecessary barriers; while deploying your own code is good, and also makes sure that deployment is simple enough.
Same goes for cloud deployments. Commercial cloud services are really expensive compared with buying and maintaining your own servers, even when you factor sysadmin salaries. What they give is flexibility, and the ability to play around without waiting for decades to get hardware.
Sysadmin people, it's time to sharpen your development skills. And viceversa. We are one world once again.
Posted Dec 29, 2012 17:33 UTC (Sat)
by dlang (guest, #313)
[Link]
Ahh, you just don't "get it", developers actually produce something, as a result, their expense can be justified.
But Sysadmins are just overhead, eliminating pure overhead is good, and DevOps promises to make things easier and faster by letting the developers do whatever they want. (this is not what DevOps is supposed to be, but this is what managers hear it to be)
> Having two worlds where one side hurls undeployable code to the poor sysadmin side creates unnecessary barriers
I agree with this, but I don't agree that every developer and sysadmin should be equally skilled in both specialities. They need to understand enough of the other's tasks to respect them, and to appriciate the expertise that they bring to the table.
Posted Dec 29, 2012 11:45 UTC (Sat)
by marcH (subscriber, #57642)
[Link]
Yes. Massively reducing the amount of rope the programming masses used to be given to hang themselves with: definitely a major progress for the human kind. Really don't care if this requires double or triple more hardware to run since that's much cheaper than education.
As the experienced C++ developer you seem to present yourself as you should be happy because I think a rising tide lift all boats - even the C++ boat. I mean, even while C++ (or any other expert language) is losing market *share* there will still be increased demand for them if the overall market is growing fast.
Posted Dec 27, 2012 8:58 UTC (Thu)
by oldtomas (guest, #72579)
[Link] (1 responses)
Microsoft Visual Basic for Applications?
(Sorry. I was to weak to stay out of this language flamefest. I tried, I tried).
Posted Dec 27, 2012 12:43 UTC (Thu)
by marcH (subscriber, #57642)
[Link]
A more relevant example indeed.
Not a great language but infinitely better (and especially: safer) than C++ in the hands of Joe the 8-to-5 enterprise software developer.
Both recently displaced by Java and .NET languages as explained in this brilliant, on-topic and highly recommended article:
> (Sorry. I was to weak to stay out of this language flamefest. I tried, I tried).
It looks like any complex computing technology is bound to make computer "scientists" emotional and irrational. Maybe because of the enormous brain investment they require?
Posted Dec 27, 2012 12:22 UTC (Thu)
by vonbrand (subscriber, #4458)
[Link]
COBOL is a great language for its intended purpose (frobbing sequential files to generate voluminous, complex printouts). The world changed around it, there is little use for that in today's environment. (Yes, I did get turned off by it at first sight too, but you have to look into the more advanced language features like the REPORT WRITER and such to really "get it".)
Posted Dec 24, 2012 20:09 UTC (Mon)
by khim (subscriber, #9252)
[Link] (1 responses)
This is only true if you don't care about the ability to actually use said program or when all the inputs are non-hostile. That's why scripting languages are good for software development and awful for anything else. …say you to yourself and happily use them everywhere. Ten days after release your service is killed by a well-crafted attack and you suddenly need to urgently redo everything while your company is rapidly losing money. You may not care till your circular structures fill all the memory (if that's reference counting GC and you “don't know and don't care about that”) or, alternatively, till all your backends are tied by the uncollected “Connection” objects and your site no longer accessible. …till it does not. Sorry, but all the scripting languages are unbelievably leaky. This is true for most higher-level languages, not just for C++. And C++ is, in fact, one of the best ones. In my own practice it's much easier to tame C++ compiler rather then JVM's histrionics (and let's not even try to talk about Python). With C++ quite often you find out that code which should compile for some reason refuses do to so, or sometimes it does something strange, but rarely code does what you need in tests but falls apart under real load while “great” scripting languages tend to behave this way regularly.
Posted Dec 27, 2012 23:09 UTC (Thu)
by marcH (subscriber, #57642)
[Link]
> …say you to yourself and happily use them everywhere. Ten days after release your service is killed by a well-crafted attack [link to Python hash collision security issue] and you suddenly need to urgently redo everything [huh, why "everything"?!]
Are you seriously saying that you'd rather deal with the gazillion of security and obfuscation issues that every junior/average engineer in your team routinely leaves in your product (since most of them don't understand C++), as opposed to simply patching a successful, massively used, open source and well maintained external component?
At least for this example you must have been kidding.
Posted Dec 27, 2012 2:04 UTC (Thu)
by jwakely (subscriber, #60262)
[Link] (1 responses)
Oh noes, how will I ever stop the compiler from consuming all the computing resources in the universe and turning the Earth to grey goo?
Oh wait, Ctrl-C. Or it will just hit an instantiation limit, or memory limit.
Has this ever been a problem for anyone? If not why do you keep making this stupid argument? (http://lwn.net/Articles/504751/ for the last time I know of.)
> and teaching a debugger to name demangle a function pointer to an overloaded member function in a virtual base class is hard enough without bringing cross compiling into it.
How often do you need to do that and can't use existing demangler code?
Posted Dec 27, 2012 8:50 UTC (Thu)
by khim (subscriber, #9252)
[Link]
The fact that we can not classify all the programs is not a big deal, the fact that often C++ programs are very slow to compile is. Not only C++ templates are Turing complete language, they are extremely inefficient Turing complete language. Still, as Cyberax rightfully pointed out: C++ is the only game in town for what it does, so we are stuck with it.
Posted Dec 28, 2012 0:09 UTC (Fri)
by HelloWorld (guest, #56129)
[Link]
Posted Dec 23, 2012 13:25 UTC (Sun)
by HelloWorld (guest, #56129)
[Link] (18 responses)
Posted Dec 23, 2012 15:02 UTC (Sun)
by lu_zero (guest, #72556)
[Link] (17 responses)
We can continue saying "yes you can, no you cannot" till you try to provide an example.
Between C (and its dreadful macro system bound to cause aberrations) and C++ (and its horrible template system bound to spawn horribly verbose code as hard to track, if weren't for clang error reporting mitigating it) you have a
Posted Dec 23, 2012 23:22 UTC (Sun)
by robert_s (subscriber, #42402)
[Link] (1 responses)
What do you mean "hard to track"? At least templated code is fully interactive-debuggable - good luck trying to use debugging tools on code than heavily uses macros.
Posted Dec 26, 2012 12:03 UTC (Wed)
by lu_zero (guest, #72556)
[Link]
clang let you delve in template nests a lot better than gcc and that makes it a really useful tool on the other hand
Posted Dec 23, 2012 23:27 UTC (Sun)
by daglwn (guest, #65432)
[Link] (14 responses)
Posted Dec 23, 2012 23:36 UTC (Sun)
by walters (subscriber, #7396)
[Link] (3 responses)
http://codingrelic.geekhold.com/2009/01/variable-scoping-...
Posted Dec 24, 2012 8:15 UTC (Mon)
by khim (subscriber, #9252)
[Link] (1 responses)
If you have GCC then you have C++, too. The lu_zero's fit of hysteria is related to the fact that you may have only some other, quite limited and deficient compiler instead. Which probably means that not only GCC extensions are not permittable but that ANSI C is "too new" and K&R C should be supported forever. I think that since it's exclusively his problem (most other guys do a bootstrap using some other platform with full-blown GCC nowadays not a vendor-provided compiler) he can support any compiler he wants in said state, but it's not a good enough reason to make life for everyone else miserable.
Posted Dec 26, 2012 12:06 UTC (Wed)
by lu_zero (guest, #72556)
[Link]
The great thing about gcc is/was the fact you can get a good compiler to replace the shoddy one you had or that is just there.
Posted Dec 26, 2012 20:02 UTC (Wed)
by daglwn (guest, #65432)
[Link]
2. That does not cover all cases.
One must have proper exception handling as well as destructor-like routines.
Posted Dec 24, 2012 8:35 UTC (Mon)
by scottt (guest, #5028)
[Link] (1 responses)
Posted Dec 24, 2012 19:56 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Dec 24, 2012 22:31 UTC (Mon)
by paulj (subscriber, #341)
[Link] (7 responses)
We've been in a thread on this before, which was also interesting: http://lwn.net/Articles/424527/
If you define RAII as requiring destruction to be tied into the scope in the language, then yes C doesn't have it. If you mean something more abstract, then you can implement it in C just fine. You have to implement it yourself then, of course, rather than let the C++ compiler do the work, but it's still possible, AFAICT. Surely?
Posted Dec 25, 2012 0:18 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (5 responses)
And that's the point - doing things manually is error-prone and code-bloating.
Posted Dec 25, 2012 12:47 UTC (Tue)
by paulj (subscriber, #341)
[Link] (4 responses)
Posted Dec 25, 2012 21:35 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (3 responses)
Posted Dec 26, 2012 20:17 UTC (Wed)
by lu_zero (guest, #72556)
[Link] (2 responses)
One of the issues I do have with C++ is that you must use a really strict subset (defeating the whole purpose of having such large standard library) in order to be reasonably sure your code will build and behave as you expect across different compiler/libstdc++ implementations.
And that because C++ is so complex and hard to implement that you have lots of interesting pitfalls.
Posted Dec 26, 2012 20:25 UTC (Wed)
by Cyberax (✭ supporter ✭, #52523)
[Link]
> One of the issues I do have with C++ is that you must use a really strict subset
> (defeating the whole purpose of having such large standard library) in order to be reasonably sure your code will build and behave as you expect across different compiler/libstdc++ implementations.
Posted Dec 27, 2012 16:53 UTC (Thu)
by bronson (subscriber, #4806)
[Link]
To be fair, this is true of libc too. "Always use glibc" dodges the problem (and not very successfully since glibc has so many obscure, dark corners).
Posted Dec 26, 2012 20:03 UTC (Wed)
by daglwn (guest, #65432)
[Link]
Well of course that's what I mean! That is the whole point.
Posted Dec 23, 2012 7:49 UTC (Sun)
by lu_zero (guest, #72556)
[Link] (7 responses)
Posted Dec 23, 2012 15:23 UTC (Sun)
by stevenb (guest, #11536)
[Link] (3 responses)
Oh, wait...
Posted Dec 23, 2012 22:35 UTC (Sun)
by lu_zero (guest, #72556)
[Link] (2 responses)
Posted Dec 24, 2012 18:05 UTC (Mon)
by heijo (guest, #88363)
[Link] (1 responses)
This idea that you need to support bad compiler is bullshit, just use your x86-64 g++ to compile an x86-64 to $bootstrap g++, then use the latter to compile a native $bootstrap g++.
Posted Dec 26, 2012 10:49 UTC (Wed)
by CopperWing (guest, #82856)
[Link]
Posted Dec 26, 2012 10:40 UTC (Wed)
by CopperWing (guest, #82856)
[Link] (2 responses)
So you leave GCC because of its switch to C++, to embrace llvm and clang which are completely written in C++ as well? Does not make sense at all.
Posted Dec 26, 2012 12:11 UTC (Wed)
by lu_zero (guest, #72556)
[Link] (1 responses)
Posted Dec 26, 2012 13:40 UTC (Wed)
by CopperWing (guest, #82856)
[Link]
I build quite often the arm-linux-gnueabi GCC cross-compiler and a Linux root file system for my work, and after the switch to C++ I didn't find any issue in doing that. It's neither more nor less straightforward than before, just the same.
Conversely if you plan to rebuild the Linux kernel with llvm/clang, be prepared to get some headaches. Last time I checked, some components still needed to be recompiled with GCC and the resulting kernel was not at all stable.
So, for real work on Linux, GCC is still the only choice. Until someone volunteers to improve the situation (FreeBSD with clang didn't came exactly for free).
Posted Dec 23, 2012 4:32 UTC (Sun)
by ovitters (guest, #27950)
[Link]
Posted Dec 24, 2012 3:53 UTC (Mon)
by dberlin (subscriber, #24694)
[Link] (4 responses)
Yes, you can make OOP like stuff in C.
But you only have to look at GCC to see what happens you do your best to simulate C++ concepts in C.
Yes, it's possible. Heck, I spent almost a year creating a sane structure hierarchy for the tree structures using the first member rule.
Compared to real classes and overloading, it's a joke.
But hey, rather than argue this point with me, you should just go and prove everyone wrong. Make GCC sane to maintain. Show us all how it's done. If you do that, i'll happily say you were right. Because a lot of smart people thought very hard about how to make GCC easier to maintain, and they are the ones that moved it to C++.
FWIW, so far they have been right.
Posted Dec 24, 2012 4:20 UTC (Mon)
by cmccabe (guest, #60281)
[Link] (3 responses)
However, I have worked with many C and C++ projects. In my experience, you CAN represent objects very cleanly in C-- the kernel is a good example. C++ has its advantages for certain applications, but it's far from a cure-all. It's kind of funny that on "Linux weekly news" people haven't read the opinions of the creator of Linux about C++.
Posted Dec 24, 2012 7:46 UTC (Mon)
by halla (subscriber, #14185)
[Link]
Posted Dec 24, 2012 15:05 UTC (Mon)
by dberlin (subscriber, #24694)
[Link]
Nobody complaining about C++ has yet come onto the GCC mailing list and explained, in clear concrete terms with examples, how they could make GCC more maintainable using C than it would be using C++.
Posted Dec 25, 2012 22:41 UTC (Tue)
by HelloWorld (guest, #56129)
[Link]
Posted Dec 26, 2012 1:14 UTC (Wed)
by ramon_garcia (guest, #67060)
[Link]
GNU should let maintainers be free to manage their projects, with very limited constraints. And judge the results, only the results. This is why GNU is killing its developers.
Posted Dec 22, 2012 23:43 UTC (Sat)
by bjd (guest, #82059)
[Link] (4 responses)
Posted Dec 23, 2012 0:01 UTC (Sun)
by stevenb (guest, #11536)
[Link]
Posted Dec 23, 2012 0:40 UTC (Sun)
by HelloWorld (guest, #56129)
[Link]
Posted Dec 23, 2012 23:00 UTC (Sun)
by Company (guest, #57006)
[Link]
Posted Dec 24, 2012 3:47 UTC (Mon)
by dberlin (subscriber, #24694)
[Link]
Posted Dec 23, 2012 9:33 UTC (Sun)
by oldtomas (guest, #72579)
[Link] (5 responses)
Sad to see your frustration: I do understand where it comes from, and you hit the nail on the head with your insights; GNU would be well-advised to read thoroughly what you wrote.
OTOH, I'm torn on many things: in many a case, what at first seemed to me RMS stubborness turned out to be vision.
In any case, I hope you don't go too far away :-)
Posted Dec 23, 2012 13:45 UTC (Sun)
by pbonzini (subscriber, #60935)
[Link] (4 responses)
Posted Dec 24, 2012 13:40 UTC (Mon)
by oldtomas (guest, #72579)
[Link] (2 responses)
You never know. At the time it was a cool idea and inspiring to some. Of course, these days everyone and their dog are doing JIT, but at that time it was either in arcane Lisp world or somewhere buried within Sun. Lightning was there for all to read.
So you'll have to accept thanks from me, anyway :-)
Posted Dec 24, 2012 20:05 UTC (Mon)
by pbonzini (subscriber, #60935)
[Link] (1 responses)
Posted Dec 26, 2012 9:12 UTC (Wed)
by oldtomas (guest, #72579)
[Link]
Thanks for the pointers!
> Don't forget Self and Smalltalk JITs!
I knew (well, at my very humble level, anyway) about those. But were they in the open back then?
Posted Dec 28, 2012 1:41 UTC (Fri)
by HelloWorld (guest, #56129)
[Link]
Posted Dec 24, 2012 11:26 UTC (Mon)
by mlopezibanez (guest, #66088)
[Link]
Posted Dec 24, 2012 13:47 UTC (Mon)
by Del- (guest, #72641)
[Link] (10 responses)
With regards to your choice of loudly leaving the GNU project I am torn. I have read through your three points at least three times by now to try to get to grips with what you try to accomplish. Both personally (a paying fsf member) and professionally (sponsoring coding on GNU projects) I am involved with GNU, so your opinions mean a lot to me.
Please understand that it is hard to see how your outburst separates from that of Ulrich Drepper (glibc) and Peter Penz (dolphin). Glibc has appearantly been more prosperous without Ulrich, so today his outburst seems little more than a stubborn man being generally dissatisfied. The underpinning of Peter's resignation seems surprisingly similar to yours, a dissatisfaction with how fast things evolved, and the lack of fruitful direction and professionality in parts of the project, leading to software in the project out-competed by proprietary offerings. Only problem is, Peter's problems were with KDE, a project that embraces just about every change you complain about missing in GNU, so it seems developers will complain loudly no matter what a project does. BTW, I am also a proud member of KDE's Join the game, so I see both GNU and KDE as critical pieces in the success of free software. In other words, both approaches seems fruitful to me.
Hence, I hope you can shed a bit more light on your frustration. You have shared you frustrations, but you have said very little about what would motivate you to stay, and contribute more. As I am sure you understand, no open project can accomodate the wishes of all developers, so please try to focus on the really critical parts. That is, can you please share what you see as critical changes that needs to be done. To give an idea of what I am hoping to learn, here is a few direct questions:
You see, I am left with a thousand questions, and this whole ordeal makes me really sad.
Posted Dec 25, 2012 20:45 UTC (Tue)
by mlopezibanez (guest, #66088)
[Link] (9 responses)
The other glaring example is the issue with generating documentation from code. In GCC, there is a lot of stuff that is auto-generated from description files. It would be ideal to generate the documentation of this stuff from the same description files that generate the code. But the incompatibility between GPL (code) and GFDL (docs) means that it cannot be done. GCC devs have proposed many many potential solutions for this issue, but they have been either shot-down or ignored by RMS.
The remark made by Paolo about the coding standards and C++ is not that every GNU software should be re-written in C++, but that since some GNU software is (like GCC), the coding standards should acknowledge this. However, the strategy of RMS is: "I don't like it, so I am not going to do anything about it and hope you get discouraged and switch back to C." This is the same strategy as for the two issues above: "Not a problem for RMS, so RMS won't do anything about it."
Finally, there are the issues with the lack (or direct obstruction) of technical leadership and the lack of communication, misunderstandings, or failures of diplomacy and tact. There are plenty of examples of this given in the email by Paolo.
Posted Dec 25, 2012 23:35 UTC (Tue)
by dd9jn (✭ supporter ✭, #4459)
[Link] (2 responses)
BTW, for GnuPG I simply disobey the order to use the FDL.
Posted Dec 26, 2012 22:34 UTC (Wed)
by stevenb (guest, #11536)
[Link] (1 responses)
Posted Dec 27, 2012 8:07 UTC (Thu)
by dd9jn (✭ supporter ✭, #4459)
[Link]
Posted Dec 26, 2012 8:40 UTC (Wed)
by rsidd (subscriber, #2582)
[Link] (2 responses)
GFDL is one of RMS's worst ideas. When Debian regards RMS's pet licence as non-free, you know there's trouble. And surely it should have been obvious that it means trouble for auto-generated documentation.
But GNU's C coding standards are awful! At least the parts on formatting code. The BSD style, as described in FreeBSD's style(9) manpage, is much better. I would think that an insistence on GNU C coding style would encourage developers to use another language and some sensible widely-accepted coding standard.
Posted Dec 28, 2012 1:58 UTC (Fri)
by HelloWorld (guest, #56129)
[Link]
Posted Jan 4, 2013 17:10 UTC (Fri)
by nix (subscriber, #2304)
[Link]
I don't know of any actual research, let alone replicated, analyzing the effect of indentation style on error rates and the like. I suspect any such effect is marginal, on the grounds that if a large effect was seen, we wouldn't see such a wide variety of styles and such anger over the subject. Without that, such things remain a matter of taste, and there are no real grounds to say that one code style is better than another.
Of course this does not change the undisputable fact that my preferred style is better than yours and anyone who disagrees is clearly a traitor and should be fed on by demons for the next thousand years and made to use Microsoft Word atop Windows ME as their text editor.
Posted Dec 26, 2012 14:00 UTC (Wed)
by Del- (guest, #72641)
[Link] (2 responses)
Sounds like a valid complaint. This process should be made as steam-lined as possible. Has any non-controversial changes been suggested?
>The other glaring example is the issue with generating documentation from code.
Indeed, the GFDL seems like poor craftsmanship (I am thinking of the incomatible with GPL part of it here). I would prefer CC-BY-SA, but I do see a value in protecting parts of the documentation from exclusion or alteration. Not sure whether the value justifies the drawbacks though. Do you know the current status here, is there any efforts to improve GFDL? Does FSF allow other licenses on documentation?
>The remark made by Paolo about the coding standards and C++ is not that every GNU software should be re-written in C++, but that since some GNU software is (like GCC), the coding standards should acknowledge this.
This should hardly have anything to do with RMS. AFAIK, he is not a C++ programmer, so others will need to step up if coding standards are to be established. Judging by the attitude towards the existing C standards, I am actually a bit in the dark as to whether coding standards are even wanted. Are you sure you want it? If so, are you sure you want FSF to provide it, or that it should be provided as one standard across all GNU projects at all?
With respect to diplomacy, I am not sure what to think. Linus is not exactly known for diplomacy nor tact, but whatever he does, it works.
Posted Dec 27, 2012 9:14 UTC (Thu)
by khim (subscriber, #9252)
[Link] (1 responses)
It's not the question of "want", it's the question of "need". C++ is built in "no policy" fashion. In a sense it's not a language, but meta-language. You can use many different styles in it (similarly to C, actually, but much, much worse). Thus it needs a style guide. It's funny, really: when people discuss various style guides usually a lot of heat exchanged on the question of where to put braces, but these are minor issues. Things like "do we want to support exceptions" are fundamental: RAII is much less powerful without them, but, on the other hand it's basically impossible to create exception-safe code unless it's created this way from the beginning. And these should be discussed and resolved somewhere. It's possible to use C++ with or without exceptions, but these are almost like two different languages. Similarly with auto/declspec: you can write code which is very Ocaml-like (as in: it almost exclusively derives types from types of other objects or functions) or you can write more C-like code (where only some local objects don't have a fixed declared type). This too, is a large difference (although smaller then exceptions). And, back to braces: yes, these decisions are minor but still there are few different styles for C++-only constructs and it'll be nice to have one "canonical form" for them.
Posted Dec 28, 2012 14:54 UTC (Fri)
by Del- (guest, #72641)
[Link]
Yes, but that was not the issue. The issue is whether FSF should provide C++ coding standards across all GNU projects. The alternative is to leave it up to the individual projects to decide. I am not at all sure it is a good idea to have FSF dictate C++ coding standards across GNU projects. I am pretty sure having RMS dictate such standards is a bad idea, so asking for that makes no sense to me.
Generally speaking, the developers of any GNU project can do pretty much as they please with the code if they are able to agree (except if it goes against freedom of course). As such, GNU projects are no different from other open projects. Get the other leading developers on your side, and you will get it your way.
Posted Dec 24, 2012 19:22 UTC (Mon)
by drag (guest, #31333)
[Link] (24 responses)
Maybe the GNU project and FSF are just obsolete. This is not necessarily a bad thing. It just may mean that they have accomplished what they can and it's time to move on.
Posted Dec 25, 2012 11:46 UTC (Tue)
by nathanpc (guest, #88512)
[Link] (23 responses)
The problem with the FSF and GNU (and Stallman) is that they are just plain obsolete, you can't do everything right if you are an extremist, it's time for them to adapt or die.
Posted Dec 25, 2012 12:24 UTC (Tue)
by hummassa (subscriber, #307)
[Link] (22 responses)
In a time when many outfits -- and, most importantly, Apple and Google -- are making many things work without copyleft, fundies like RMS are most important because there is a good and big collection of copylefted software that they curate based on it solely.
Oh, I like llvm and clang. And I like the Android runtime. But I am always worried if their non-copyleft status could be a shot in the foot for the Free Software community. Apple, for instance, closed up the Darwin kernel a long time ago.
And I believe in Free Software and what it represents. Not only Open Source as ESR says -- a methodology for open development, reaping the benefits in its "many eyeballs" and other effects --, but Free Software, preserving fundamental freedoms that proprietary software robs us.
So, I support RMS, not because I believe that he is never wrong, but I believe that he brings balance to the world. When things tend do be closed, TPM'd, DRM'd and Tivo-ized, he is the wheel that squeaks louder, warning that the whole machine needs to get a bit of grease.
Posted Dec 26, 2012 8:49 UTC (Wed)
by rsidd (subscriber, #2582)
[Link] (21 responses)
No, the Darwin source for the latest OS X is listed here and includes the kernel (xnu, near the bottom). Apple also has a guide on kernel hacking.
Posted Dec 26, 2012 14:10 UTC (Wed)
by mjg59 (subscriber, #23239)
[Link] (20 responses)
Posted Dec 26, 2012 14:57 UTC (Wed)
by rsidd (subscriber, #2582)
[Link] (19 responses)
Posted Dec 26, 2012 15:29 UTC (Wed)
by mjg59 (subscriber, #23239)
[Link] (18 responses)
* You may not use this file except in
Restriction of use. Non-free.
Posted Dec 27, 2012 5:45 UTC (Thu)
by mathstuf (subscriber, #69389)
[Link] (1 responses)
(IANAL)
Posted Jan 14, 2013 13:19 UTC (Mon)
by oak (guest, #2786)
[Link]
Posted Dec 27, 2012 5:58 UTC (Thu)
by rsidd (subscriber, #2582)
[Link] (15 responses)
It's no different from saying you cannot use GPL software to illegally reproduce GFDL documentation. (For example, you cannot combine auto-generated documentation from your GPL program with existing GFDL documentation). It is not a restriction -- it is a legal fact that you cannot do that (at least in countries where the GPL and GFDL are legally valid licenses). And it is possible that users will need to be reminded of that fact. But if I include a warning to that effect in my source files, is that an "additional restriction" that renders my code non-free?
Posted Dec 27, 2012 11:22 UTC (Thu)
by mpr22 (subscriber, #60784)
[Link] (2 responses)
Posted Dec 27, 2012 11:43 UTC (Thu)
by rsidd (subscriber, #2582)
[Link] (1 responses)
Posted Dec 27, 2012 12:02 UTC (Thu)
by hummassa (subscriber, #307)
[Link]
(*) our Software Law grants us the right of modifying legally-acquired software in any way we need, if it is with the objective of making it run in our hardware and/or operating system, for our private use. (Law 9609/98, art. 6, IV)
Posted Dec 27, 2012 18:15 UTC (Thu)
by mjg59 (subscriber, #23239)
[Link]
Sure it does. The OS X license agreement contains all kinds of requirements that are unenforceable in a range of jurisdictions. It's not merely a reminder of obligations you already have, it's an explicit limitation of the acts you're permitted to perform with the code.
> it is not part of the licence
It's part of the conditions of use of the source code, so it's part of the license you received the code under even if it's not part of the APSL.
> Free software isn't about the right to break existing law.
So it'd be fine for a license to forbid use by dissidents seeking to overthrow a despotic government? Obviously they're breaking the law anyway and so copyright terms are unlikely to be their biggest concern, but it seems like an unfortunate scenario for licenses to get involved with.
Posted Dec 27, 2012 18:51 UTC (Thu)
by rahulsundaram (subscriber, #21946)
[Link] (10 responses)
Posted Dec 27, 2012 19:15 UTC (Thu)
by Cyberax (✭ supporter ✭, #52523)
[Link] (9 responses)
Posted Dec 27, 2012 19:19 UTC (Thu)
by mjg59 (subscriber, #23239)
[Link] (7 responses)
Posted Dec 28, 2012 2:06 UTC (Fri)
by HelloWorld (guest, #56129)
[Link] (1 responses)
Posted Dec 28, 2012 23:58 UTC (Fri)
by bronson (subscriber, #4806)
[Link]
Posted Jan 2, 2013 13:48 UTC (Wed)
by rfontana (subscriber, #52677)
[Link] (4 responses)
Posted Jan 2, 2013 16:31 UTC (Wed)
by mjg59 (subscriber, #23239)
[Link] (3 responses)
Posted Jan 2, 2013 16:36 UTC (Wed)
by rfontana (subscriber, #52677)
[Link] (2 responses)
Posted Jan 2, 2013 16:59 UTC (Wed)
by mjg59 (subscriber, #23239)
[Link] (1 responses)
Posted Jan 8, 2013 17:04 UTC (Tue)
by mgedmin (subscriber, #34497)
[Link]
Posted Dec 28, 2012 2:41 UTC (Fri)
by cortana (subscriber, #24596)
[Link]
Posted Dec 26, 2012 1:34 UTC (Wed)
by ramon_garcia (guest, #67060)
[Link] (3 responses)
I agree with them on their reasons about resigning. But I think that before that they should have discussed these issues with the community in public, and strike our attention. GNU maintainers should have send an open letter asking for freedom in technical choices. Since GNU receives donations, its policies should be openly discussed. Well managed organizations are oriented towards results. The president of the university of Princetone does not tell professors how to teach or research. There is no point in telling David Wentzlaf how to teach computer architecture (and he is a wonderful teach, check his free classes in coursera. He knows much better than the president about is area. Then, he must pass evaluations (student surveys, research reports) to ensure the (outstanding) quality of his work, and fire him if he were not performing well. As former Excel program manager Joel Spolsky explains:
Posted Dec 26, 2012 8:59 UTC (Wed)
by rsidd (subscriber, #2582)
[Link] (1 responses)
Several people pointed out above that GNU and the FSF are distinct entities, though headed by the same person. GNU's help the project page mentions cash donations only to the FSF, not to GNU. Presumably some of the FSF money finds its way back to GNU, via funding developers or hardware. But it is time for the two organisations to be properly separated, and RMS should head the FSF only, leaving GNU to active developers.
Posted Dec 26, 2012 14:15 UTC (Wed)
by Del- (guest, #72641)
[Link]
There is nothing preventing you from funding GNU projects directly in addition. A number of companies do it by allowing employees to contribute. For selected projects, developers offer to do project work, so direct funding of development is also possible. FSF does not facilitate that, but neither does KDE either, for natural reasons.
Posted Dec 27, 2012 10:11 UTC (Thu)
by ortalo (guest, #4654)
[Link]
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
If it were up to RMS, GCC never would have been permitted to switch to C++, but RMS doesn't get a veto over technical matters with GCC, only with issues that affect core free software principles (and even those issues can be very sticky).
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
You can do in C everything you do in C++ and be as terse if not more.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
See my point regarding C++-subset.
You are scare of macros and you feel happier with templates (that just suck differently).
Gold is a great example on why clean slate rewrites can work decently w/out the second system syndrome. Yet gold is a really small subset of ld.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
how about the widespread use of Windows?
In Enterprise Programming, the prior fad was C++.
Chode: Ok, they might have been slightly used.
Gus: And let me guess… cheap, cheap, cheap?!
Chode: No, they were even cheaper than that.GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
I cannot possibly see how replacing the expensive sysadmin with a very expensive developer is a good move. Keep in mind that your average coding monkey will not know a thing about DevOps.
One world
One world
GNU sed 4.2.2 released; maintainer resigns
[OT] my language is better than yours
[OT] my language is better than yours
http://arstechnica.com/features/2012/10/windows-8-and-win...
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
Scripting languages like python, ruby, lua, and so on abstract away memory management and type conversions, providing opaque abstractions that you can use without caring how they're implemented.
Is a dictionary a hash table or a tree?
Is the garbage collector mark and sweep or reference counting?
It doesn't matter, it just works.
Most of the complexity of C programs comes from the program. A significant part of the complexity of C++ programs comes from the language.
GNU sed 4.2.2 released; maintainer resigns
landley, stop hitting the Turing complete strawman
landley, stop hitting the Turing complete strawman
Oh wait, Ctrl-C. Or it will just hit an instantiation limit, or memory limit.
Has this ever been a problem for anyone? If not why do you keep making this stupid argument? (http://lwn.net/Articles/504751/ for the last time I know of.)GNU sed 4.2.2 released; maintainer resigns
In what universe? The preprocessor has all the drawbacks of templates (poor error messages, potential for code bloat and misuse) and a lot more.
GNU sed 4.2.2 released; maintainer resigns
No you can't, please stop spreading this kind of nonsense.
GNU sed 4.2.2 released; maintainer resigns
richer but brain damaged standard library and a plethora of features you should not use (or at least not all of them together).
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
talloc as an RAII alternatives in C
> You cannot do RAII in C. End of story.
Apache and Samba manage resource handles through apr_pool_t and talloc and they fair pretty well despite being written in C.
talloc as an RAII alternatives in C
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
The only reason is to avoid incomprehensibly complex code.
That hasn't been true for ages. All modern STL implementations are reasonably compatible - you won't find problems with standard containers and algorithms.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
> the language, then yes C doesn't have it.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
The reality is that the inability to sanely represent concepts in C cleanly was a huge maintenance burden.
Yes, you can theoretically do anything you can do in C++.
So if you are going to say they were wrong, please, prove it.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
The kernel is not exactly the bastion of clean maintainable code, despite Linus's opinions.
Instead they sit on LWN and kibitz from afar.
GNU sed 4.2.2 released; maintainer resigns
I disagree, the typical implementation of objects with vtables etc. is ugly in C, and manual implementations of advanced concepts like multiple and virtual inheritance are hard to use and maintain.
C++ also has a lot more to offer than OOP (esp. templates).
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
In fact, if you are a GNU person, you should be very worried that folks like Paolo have decided to resign/not work on projects anymore.
*very* worried.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
Would funding for the GNU projects be sufficient for you to stay onboard?
Would a transition from C to C++ accompanied by clear and good coding guidlines be sufficient for you to stay?
Would abolishing copyright transfer (using a GPLv3+ licensing with distributed copyright) for GNU projects be sufficient for you to continue contributing?
Maybe simply being allowed to transfer copyright to FSFE would be enough?
Would RMS stepping down from GNU, only focussing on FSF be enough?
Would Nikos being heard somehow be enough?
Maybe GNU should get another governance model? Is so, what would be acceptable?
GNU sed 4.2.2 released; maintainer resigns
I agree with most of your comments. However, to be fair to Mr. Stallman we should notice that he does not enforce the use of a specific programming language. For example on Nov. 9 there was a question on the internal mailing list (g-p-d):
GNU sed 4.2.2 released; maintainer resigns
Just wondering, is is acceptable for
GNU project to use languages, other then C, C++, Scheme? [...]
Someone commented:
I think GNU's open for any language include .net things(hmm...)
on which Stallman only replied:
We ask people not to write programs in C# and .Net.".
Thus I cannot see any banning of C++ - even if he dislikes it. Right, there are other hackers who expressed their concerns about using C++ for gcc, but this was a pure technical-religious thing and not about free software.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
It would be ideal to generate the documentation of this stuff from the same description files that generate the code. But the incompatibility between GPL (code) and GFDL (docs) means that it cannot be done.
However, the strategy of RMS [on C++ coding standards] is: "I don't like it, so I am not going to do anything about it and hope you get discouraged and switch back to C."
GNU sed 4.2.2 released; maintainer resigns
If that is the case, then it should be kept the way it is.
GNU sed 4.2.2 released; maintainer resigns
But GNU's C coding standards are awful! At least the parts on formatting code. The BSD style, as described in FreeBSD's style(9) manpage, is much better.
This is extremely debatable. I happen to prefer the GNU style, for the simple reason that I evolved a personal style very similar to it myself, decades ago, before I ever heard of GNU. I find the BSD style exceedingly cramped and hard to read. Nonetheless, my current job involves 95% BSD indentation and 5% GNU indentation, and, y'know, I adjusted in about half an hour.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
Judging by the attitude towards the existing C standards, I am actually a bit in the dark as to whether coding standards are even wanted. Are you sure you want it?
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
Oh, I like llvm and clang. And I like the Android runtime. But I am always worried if their non-copyleft status could be a shot in the foot for the Free Software community. Apple, for instance, closed up the Darwin kernel a long time ago.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
* compliance with the License. The rights granted to you under the License
* may not be used to create, or enable the creation or redistribution of,
* unlawful or unlicensed copies of an Apple operating system, or to
* circumvent, violate, or enable the circumvention or violation of, any
* terms of an Apple operating system software license agreement.
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
If I have a license to Work A, and use Work A to copy Work B, then (by default) I am not breaching the license of Work A, only of Work B. The clause appears on cursory examination to be an attempt to make the violation of Work B's license using Work A a violation of Work A's license. Thus yes, it is an additional restriction. ("For any purpose", remember.)
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
That seems a little far-fetched, don't you think?
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
GNU sed 4.2.2 released; maintainer resigns
A criticism to Paolo and GNU TLS former maintainers
GNU sed 4.2.2 released; maintainer resigns
The third drawback is that in a high tech company the individual contributors always have more information than the “leaders,” so they are really in the best position to make decisions. When the boss wanders into an office where two developers have been arguing for two hours about the best way to compress an image, the person with the least information is the boss, so that’s the last person you’d want making a technical decision.
GNU sed 4.2.2 released; maintainer resigns
Since GNU receives donations, its policies should be openly discussed.
GNU sed 4.2.2 released; maintainer resigns
http://www.fsf.org/appeal/2012
and it is very easy to find.
GNU sed 4.2.2 released; maintainer resigns
I wonder if it is very common for managers in such companies to speak about what they do not do; while we would really like to know about what they are doing themselves.
