Anders Magnusson’s BSD-licensed pcc compiler has been imported into NetBSD’s pkgsrc and OpenBSD’s src tree. Anders wrote to NetBSD’s tech-toolchain list: “It is not yet bug-free, but it can compile the i386 userspace. The big benefit of it is that it is fast, 5-10 times faster than gcc, while still producing reasonable code. The only optimization added so far is a multiple-register-class graph-coloring register allocator, which may be one of the best register allocators today. Conversion to SSA format is also implemented, but not yet the phi function. Not too difficult though, after that strength reduction is high on the list.”
Even if it doesn’t generate as fast binaries as gcc does yet it’s still nice to see how dedicated (mostly the OpenBSD?) people are to rewrite tools under a BSD license there only GPL alternatives have been available earlier.
It’s good for freedom of choice too.
Yeah, it’s good to see so many people dedicating so much time to the crucial task of rewriting GPL tools with a BSD license. First it was some basic GNU tools like tar etc, now the compiler. It’s clearly what the free BSDs need right now. And its users! How I could live using a GPLed compiler up today?
Edited 2007-09-15 20:39
Yeah, it’s good to see so many people dedicating so much time to the crucial task of rewriting GPL tools with a BSD license. First it was some basic GNU tools like tar etc, now the compiler.
I thought that myself for about 3 seconds, the competition will be a good thing.
The PCC is not related to OpenBSD team. The maintainer of compiler is NetBSD developer, however the PPC project is separate from BSDs: http://www.ludd.ltu.se/~ragge/pcc/
Of course, this might change after importing to the OpenBSD userland.
But what is the practical need for such a compiler? You can use gcc to compile BSD-licensed software (heck, even proprietary software!) with no licensing problems.
Today yes, but are there any guarantees that the next version of GPL says that anything produced with GPL’d software must also be GPL’d in turn? Or the next after that… etc.
That’s supposed to be “won’t say” of course.
If, say, GCC4.5 changes license to GPLv4 that prohibits compiling non-GPL software, take the latest version of GCC4.4 and fork it.
It has been done before. (XFree86 vs. X.org)
– Gilboa
You could e.g. compile the complete NetBSD operating system. Whether you need something different for the ports, e.g. the applications like OpenOffice doesn’t matter. Btw. the motivation of the NetBSD people isn’t the license, but proper portable code.
“The big benefit of it is that it is fast, 5-10 times faster than gcc, while still producing reasonable code.”
Well, if gcc dropped its extensive portability, was “not yet bug-fre” and produced only “reasonable code”, it would be fast too.
That’s quiet nonsense, even most of the Linux developers aren’t very happy with GCC. It would be a welcome alternative.
Can you backup the word “most” with some evidence? I’ve been writing C(++) for years and I like GCC.
Some Debian developers e.g., have a look at their MLs and so on. It’s not that difficult if you’re not living in some mountains without connection to the internet 😉
GCC has one great claim to fame: Wide cross-platform support.
That is its killer feature. Everything else is subordinate.
A commitment to cross-platform is both our community’s greatest strength… and our Achilles’ heel. One need look no further than mozilla.com’s products to see what price we pay for cross-platform. And one need not look hard to find the indications of GCC’s mediocrity, compared to more platform-focused compilers like Intel’s or Microsoft’s.
About cross-platform: I use Gcc/G++ on platforms with alternatives. And I do not care about other platforms. I use it because of splendid quality of generated code. Cross-platform is “subordinate” for me.
And now for comparing with alternatives. Yes Icc produces fast code. But compilation process is painfully slow – it can take days for larger projects. G++ compiles that within hours. And, guess what, I actually compared highly optimized numeric code compiled with Mingw32 g++ with MS VC+ 2005 (not EE, Team Suite). G++ generates faster code for Windows. But “highly optimized” doesn’t mean “just put -O3 and -march”. No, it’s PGO, auto-vectorisation, auto-prefetch, tuned inline heuristics (I didn’t try OpenMP on Windows yet). For example, when it comes to PGO MS VC++ simply sucks.
So, face it. There won’t be anytime soon BSD-licenced compiler good enough to compete with Gcc. And with all that money pumped into Gcc… LLVM is interesting, though (only usable C/C++ front-end is based on Gcc — Clang is future, years ahead).
There will be an ObjC/ObjC++ added by Apple to LLVM.
Are you familiar with “burden of proof”?
> I like GCC.
Me too. Visual C++ is very fast for compiling but it is not as good as gcc for generating good code.
Gcc is the best.
> Visual C++ is very fast for compiling but it is not as good as gcc for generating good code.
Have you actually tried to compare, or it is just your guts feeling?
This benchmark is supposed to show something else, but it also shows the optimization capabilities for various compilers:
http://www.ultimatepp.org/www$uppweb$vsstd$en-us.html
As you cn see, MSC++ 32bit compiler generated code is as fast or faster than GCC for this particular benchmark.
Edited 2007-09-16 09:36
Eeeh? The benchmark clearly shows that GCC64 is the winner in ALL parts of the benchmark except for one draw with GCC32 and two losses to GCC32.
Only in four parts of the benchmark is MSC7.1 faster than GCC32 (and never faster than GCC64).
MSC8.0 is the slowest of them all. It never beats GCC64, only beats GCC32 once. It has two draws with GCC32, but is only faster once. It is faster than MSC7.1 twice but loses most of the time.
Remember: Lower is faster.
> Eeeh? The benchmark clearly shows that GCC64 is the winner in ALL parts of the benchmark except for one draw with GCC32 and two losses to GCC32.
Have you ever heard about x86-64 vs x86-32 performance advantage because of additional registers?
Note: new benchmarks were also done with MSC 64-bit version, not yet published, which show similar pattern – GCC and MSC produced code is mostly of the same quality.
And please, do not compare STL numbers (GCC STL is generally better than MSC STL), just find the fastest time of all – in that case, numbers are pretty even as compilers are compiling the same C++ code.
(MSC8 STL implementation is trategy, that is widely known fact. But STL does not have much to do with quality of compiler alone).
Your claim was:
That’s not what the benchmark says. It says GCC32 produces as fast or faster binaries than MSC7.1 and especially 8.0
The benchmark shows the exact opposite of your claim. Also when ignoring STL.
On the overall MSC7.1 isn’t so bad, but GCC32 still wins. GCC64 is of course even faster, but even if we stick to 32-bit compilers, GCC is still the winner.
> That’s not what the benchmark says. It says GCC32 produces as fast or faster binaries than MSC7.1 and especially 8.0
Sorry, but you are just ignoring numbers… Let me list the relevant numbers for you:
Test1: GCC32 2.1s, MSC7.1 2.1s, MSC8.0 2.1s
Test2: GCC32 21s, MSC7.1 20s, MSC8.0 21s
Please tell which numbers indicate that GCC32 is faster.
Note that I am speaking about this particular benchmark only, which is basically integer/string test.
It is possible that in other scenarios you will get different results. I do not also say that GCC is bad – it gets better with each version. Thanks god for GCC, it is a good compiler, without it we would not have any apps in Linux.
I also think that MSC8.0 (from VC++2005) is in fact worse compiler than older MSC7.1 (from VC++2003).
But to say that GCC is slower because it produces better code is IMO simply the false assumption.
LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL
That’s only Vector Map with the U++ framework.
It does not handle any of the other – more likely – scenarios.
And your numbers are wrong.
It is – for Vectop Map, U++ :
Test 1: 2.2, 2.2, 2.2 [not 2.1!]
Test 2: 21, 20, 21 [you got that one right]
Result: Draw.
And that’s only one part of the test. Vector Map with standard library makes MSC look like crap for larger files.
For Vectop Map, standard library. (The most common scenario)
Test 1: 3.4 , 3.6, 3.0
Test 2: 26, 36, 31
MSC7.1 is slowest. Overall winner is GGC, but MSC8 is not too bad here. MSC8.0 does however loose big time with map and hash_map. Only with Vector Map does it look acceptable.
> That’s only Vector Map with the U++ framework.
> It does not handle any of the other – more likely – scenarios.
Yes, but that is the only benchmark that uses the same source code for all relevant parts. Other numbers are using different STL implementations and different memory allocator.
Means other numbers are mostly comparing STL library implementations and standard libray allocator. Which is not really relevant for the comparison of compiler generated code.
Test that you think makes look MSC looks bad is test with standard allocator – it is not VectorMap and standard library, it is VectorMap and standard allocator.
Which just proves that Linux libc has faster malloc than Windows libc, but nothing more.
(Sorry for the typo 2.2 vs 2.1)
Well, since you create a native only compiler, portability has nothing to do with GCC’s performance, and it’s not yet bug-free and it does produce only reasonable code.
So, why isn’t it faster?
portability has nothing to do with GCC’s performance
Portability takes up developer resources, and I believe this is GCC’s real problem, they just don’t have enough people to go around. Also, it supports a ton of different languages while most compilers only focus on 1 or 2. This also takes more developer resources and stops them from making language specific hacks. I mean optimizations.
it’s not yet bug-free and it does produce only reasonable code
No compiler is completely bug free, and it does produce reasonable code. It’s definitely not as good as some more focused compilers, but it’s one of those programs that does a lot and is good enough for most people. More competition in open source compilers is a good thing, but lashing out at how terrible GCC is isn’t very productive IMHO.
Gcc has full time payed developers from many big companies. It is THE most developed compiler.
Also your comment about “other languages” is off. They do not do other languages. There are dedicated teams for that. The core development is based on the intermediate “quasi-bytecode” gcc uses, and C front end. (perhaps also C++ but.. the quality?).
But it still doesn’t stand that they don’t have enough manpower to make it fast AND good. Take a look at the recently released Free Pascal. Sure it’s one language (see my comment on gcc above) but they support a wide variety of OSes AND it’s 100% free (no corporate backing, no fulltimers). To top that off they got only about 6 active people working at any time and look where they got.
I think the problem with gcc is that it tries to be what unix never wanted. The big program for everything. It breaks the KISS mentality and the “tool for the job” mentality and that can be felt.
Another C compiler is a good thing ™, no matter the license.
Another C compiler is a good thing ™, no matter the license.
Additionally, if the goal of pcc is to compile BSD (base) systems initially only, it has the advantage that it is a C-only niche compiler. Not having to bother about other languages, it’s a lot less work to optimize and maintain than gcc, which has many frontends.
>how terrible GCC is isn’t very productive IMHO.
That saying is okay, but it fits for GCC itself too 😉
“Also, it supports a ton of different languages while most compilers only focus on 1 or 2.”
And having a *C* compiler support other languages is good because…?
There’s all sorts of reasons why GCC is slower, and only a few are really avoidable.
1) GCC is a heavily optimizing compiler. It doesn’t just produce reasonable code, it produces excellent code: http://groups.google.com/group/comp.compilers/browse_thread/thread/…
Heavily optimizing compilers are slower than non-optimizing ones. Not only is there the cost of the optimization passes themselves, but the very structure of the compiler must be more well-abstracted and general in order to support the code complexity of an aggressive optimizer.
2) GCC’s reusability forces it to use multiple intermediate representations. There is a compile-time cost to converting between language dependent trees, language specific trees, and RTL.
3) GCC”s retargetability forces it to use slower and more generic algorithms. All of the GCC back-end code has to deal with the complexity of all of GCC’s supported targets. For example, the register allocator has to deal with all of the quirks of the embedded processors GCC supports*. RTL has to support all of the weird addressing modes of the processors supported by GCC, and the RTL expanders have to take the full complexity of RTL into account. Even if GCC implemented the same algorithms as PCC for these tasks, the GCC version would still be slower because it has to account for all of these cases. On top of that, GCC does instruction combining and instruction scheduling that PCC doesn’t even try to do. GCC has a very sophisticated generic instruction scheduler that can generate processor-specific schedulers based on abstract machine descriptions. PCC doesn’t even try to do this.
It is possible, but not easy, to make a compiler as aggressive and portable as GCC that’s still fast pretty fast. LLVM, for example, is pretty near SOTA, but it is faster than GCC, though by a much smaller factor than PCC. However, LLVM goes to great lengths to achieve that speed. It uses a very memory efficient intermediate representation (three address code instead of trees). It almost exclusively uses sparse optimizations, without ever taking the IR out of SSA form. IMHO, it’s a better, cleaner design than GCC, but then again, it has the luxury of being built from the ground-up, and doesn’t have decades of legacy to support.
*) I’ll give a simple example of this. In my compiler, I use a basic Briggs-style coloring allocator with preferencing to handle dedicated registers. For an AMD64 target, you don’t need anything else. This is a grand total of a couple of hundred lines of Lisp code, maybe equivalent to 1,000 lines of C. When you think about supporting all the targets GCC supports (well!), though, the complexity explodes, even if you’re still using the same basic algorithm. Suddenly you have to consider overlapping register classes, non orthogonal instruction sets (AMD64 is actually quite orthogonal), huge register files, tiny register files, instructions that use register pairs, etc. The same basic algorithm now has to support all sorts of extra features. GCC’s register allocator is 25,000 lines of C, for these reasons. No wonder it’s slower!
Edited 2007-09-16 01:51
IMHO, [LLVM]’s a better, cleaner design than GCC, but then again, it has the luxury of being built from the ground-up, and doesn’t have decades of legacy to support.
Precisely. GCC is an OK compiler, but not an excellent one. This is all there is to my point.
Precisely. GCC is an OK compiler, but not an excellent one.
What are the metrics for quality? The code produced by GCC is comparable in quality to the code produced by LLVM for mainstream architectures. The support and portability of GCC is far beyond that of LLVM. LLVM, on the other hand, is far cleaner and more elegant on the inside.
They’re different, which one is “better” depends quite strongly on how you measure “better”.
This is all there is to my point.
Actually, you asked why it was slower, which I answered.
I’m not sure what you mean here. If you mean that GCC have to support old source, isn’t it the case that old sources that compiled with 2.95 can’t be compiled with a current version? Not the only case of GCC no longer supporting legacy sources.
If you mean GCC supporting features, there’s plenty of stuff that has been removed from support over the years as well.
Aside from that, GCC is slow period. Even if you disable optimizations, it’s painfully slow.
If trying to use the same main sources for all possible targets makes it slower for all, they really should split it up into target classes instead.
> Aside from that, GCC is slow period. Even if you disable optimizations, it’s painfully slow.
But it gets better.
IME GCC4.2 is almost 50% faster than GCC3.4
Slow compilation is the price you pay for fast binaries.
GCC usually beats the crap out of Visual C++ in terms of producing the fastest binaries, as your earlier link to the Ultimate++ benchmark showed.
However, that doesn’t mean PCC isn’t interesting. It is very much so.
Just don’t forget Marcellus is FUD’ing* and trolling as usual.
* http://www4.osnews.com/permalink?271690
My point was that the major reason LLVM is faster than GCC is because it was built from the ground-up using the latest compiler techniques. GCC, in comparison, has incrementally evolved from a 20 year old codebase. The GCC folks don’t have the luxury of going off somewhere and spending five years totally rebuilding things. They have way too many existing customers and existing platforms to support. LLVM doesn’t have those kinds of constraints.
If trying to use the same main sources for all possible targets makes it slower for all, they really should split it up into target classes instead.
This wouldn’t work in any way that didn’t require huge code duplication.
Edited 2007-09-16 18:31
It would be much more reasonable to contribute to clang ( http://en.wikipedia.org/wiki/Clang ), IMHO. clang (and the rest of LLVM) has BSD-like licence.
Edited 2007-09-15 21:38
Why? Because it’s from Apple?
No, because it can make LLVM complete replacement (with BSD-like licence) for gcc. And LLVM already has many advantages over gcc (link time optimizations, JIT, …). http://www.llvm.org
Edited 2007-09-15 21:39
Is there any interest from Linux people at the moment? In terms of real interest, not just “would be fine to see it”?
No, it can’t and this isn’t even the goal. LLVM and clang will most likely never support Pascal, Fortran, Java, and so on. It will be C, C++, and Obj-C only.
GCC has such a wide feature set that it won’t be replaced by anything in the foreseeable future.
clang may be developed in part by Apple, but it is still a subproject of the LLVM initiative.
It lives in the University of Illinois SVN: http://clang.llvm.org/
Learn more about LLVM: http://llvm.org/docs/FAQ.html
It really would make more sense to contribute to LLVM, which is BSD compatible. I don’t know if you are aware of this, but a compiler can be as extensive and complex as an entire operating system.
Yes I’m aware of this, but I’m aware too of the ability of the NetBSD people. So in the end, I think they know what they’re are doing.
All some of us were saying was that in an ideal world, it would be nice if someone talented like that would work with a team (LLVM) with some similar (albeit larger) goals.
I found the homepage for his project: http://www.ludd.ltu.se/~ragge/pcc/
If you read the page, it appears to be more of a student project with far less organization and smaller goals. Kind of a hobby feel to it.
Maybe he will attract some more eyeballs to free compilers in general.
[contentious, argumentativeness removed ]
Edited 2007-09-15 22:07 UTC
PCC is originally developed bei Bell Labs in the 70s. I do think they are more interested in sourcecode than HTML.
According to Wikipedia, Clang is just a front end to LLVM which “currently supports the compilation of C and C++ programs, using front-ends derived from version 3.4 and 4.0.1 of the GNU Compiler Collection (GCC).”
..and further…
“It is publicly available under the University of Illinois Open Source License [1], an GPL compatible[1], OSI-approved license that is very similar to the BSD license.”
I find it interesting that it is based on GCC code yet it’s stated as being a “potential replacement” to GCC. Compiler writing isn’t an easy business, and programs compiled with GCC are themselves exempt from the GPL.
I say if you can write a better, cleaner, faster compiler then go for it, but writing a new one based solely because of licensing issues when an existing well rounded open source project exists seems a little bastardy to me.
Maybe you misunderstood.
The LLVM backend compiler can utilize modified gcc frontend parsers. They are pluggable; the LLVM backend is not at all based on gcc
clang is a new parser/lexer, another pluggable frontend for LLVM that is also not in any way based on gcc.
I don’t know why your comment keeps getting modded up, your assertions don’t hold water.
Wrong, LLVM is not based on gcc. At all.
And?
You are implying the sole reason pcc, llvm, etc are being developed is to spite an open source project? Or the GPL? That is absurd.
GCC’s codebase has decades of unwieldy code, it can be very slow, and if you have used GCC over the years you might be familiar with its code generation issues.
There is nothing ‘bastardy’ about writing a modern open source compiler. Ergo, Linux exists, why should anyone ever write another system kernel (for anything) when a well-rounded open source project exists?
Just out of curiousity, would this mean that if PCC would get better, we might actually see Stallman slowly becoming a () in history? I would very much appreciate that as it would definitely bring momentum to open source technology.
Any corporate leader who’s heard or seen RMS are likely to be very friendly to anything that is not open source. Hopefully this might minimize his negative impact on the open source world.
As another note. Good to see diversity in general =)
“””
would this mean that if PCC would get better, we might actually see Stallman slowly becoming a () in history?
“””
As more and more people with mainstream backgrounds have joined our ranks, RMS has already begun to become a () in history.
But yes, it is nice to see have alternatives, and freedom to compile our code without being lorded over and subjected to that perpetual “you owe me” attitude that Stallman projects.
Glibc is the only other major hurdle to a truly GNU-Free Linux.
Good work, BSD guys!
Glibc is the only other major hurdle to a truly GNU-Free Linux.
The BSDs have their own BSD-licensed libc, and a lot of software compiles against it without any problems.
There is of course the issue of the standard C++ library as well, the GCC project doesn’t just incorporate the compiler, but also the standard library.
EDIT: Whoop nm, looks like PCC is only C99 atm!
Edited 2007-09-15 23:07
Yes. It would be nice to have a distro available with a Linux kernel, BSD libc, and a pick of the best non-FSF software available in the FOSS world.
Does such a thing exist?
I think the reason why no one has done it (Or maybe why no one else noticed too much if someone has) is because porting a BSD libc to Linux would involve rewriting some of the guts of libc to incorporate all of the Linux system calls. Doing so would require some coordination with the Linux kernel developers.
Some common utilities on Linux distro’s these days *are* provided by non-FSF packages. For example, on my system wget is provided by BusyBox.
I have to admit, looking through the FreeBSD libc repository in CVS it looks like some damn fine code: http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/
Edited 2007-09-15 23:25
I think the reason why no one has done it (Or maybe why no one else noticed too much if someone has) is because porting a BSD libc to Linux would involve rewriting some of the guts of libc to incorporate all of the Linux system calls.
Or maybe the reason is that it’s completely uncalled for?
I can see why people write C compilers from scratch because the do not fancy the license GCC is released under, but to get rid of all FSF software in a Linux Distribution where the GPL is unavoidable anyway seems like a wasteful effort.
What’s to gain, except the ability to fight ones fears of “being lorded over and subjected to that perpetual “you owe me” attitude that Stallman projects“, as sbergman27 puts it?
Yes. It would be nice to have a distro available with a Linux kernel, BSD libc, and a pick of the best non-FSF software available in the FOSS world.
I really do not understand this attitude. Where did all this anti-FSF, anti-GPL fervor come from? FSF-produced software is generally high-quality stuff. GPL’d software is not a threat to anyone.
Sure, another compiler with a fresh start is good… just like Konqueror was a good idea despite Mozilla. But… there are few advantages to having a BSD-licensed compiler as opposed to a GPL-licensed one. Making a new compiler on purely idealogical grounds strikes me as petty and wasteful. You already have a completely free compiler that works everywhere. What more do you want? There are so many more urgently needed things to code.
“””
I really do not understand this attitude. Where did all this anti-FSF, anti-GPL fervor come from? FSF-produced software is generally high-quality stuff. GPL’d software is not a threat to anyone.
“””
I actually prefer GPL to more permissive licenses, in general. But I would like to have a choice *not* to use FSF-sponsored software. I’ve actually had FSF advocates say to me that I should “get down on my knees and thank Richard Stallman for what he has done”. And that’s a fact!
Sorry. No. Not my cup of tea. 🙂
Where did the anti-FSF fervor come from? That’s easy. Overly enthusiastic followers of Stallman have generated it. Richard and the FSF are more reserved and reasonable than that. I have *great* respect for Eben Moglen and his *wonderful* sense of diplomacy. But they need to restrain their dogs if they want to avoid generating negative feelings in the community at large.
Edited 2007-09-16 19:03
“Where did the anti-FSF fervor come from? That’s easy. Overly enthusiastic followers of Stallman have generated it. Richard and the FSF are more reserved and reasonable than that. I have *great* respect for Eben Moglen and his *wonderful* sense of diplomacy. But they need to restrain their dogs if they want to avoid generating negative feelings in the community at large.”
You lie.
“Well, you are the one taking the conversation in this direction. But I tend to think of Stallman less as a mad dictator, and more as a loony old aunt in the attic.”
I know why you are anti-fsf
While I do still think of Richard as a bit of a loony old aunt in the attic, my valued conversations with b3timmons have changed my views somewhat. b3timmons has pointed out to me where I have claimed that the FSF has promoted some thing… when in fact, it was not the FSF, proper, but an overly-enthusiastic supporter with poor advocacy-sense.
That took me aback, just a bit. But the fact remains that Richard, and the FSF, do hold sway over these people, and should be doing something to teach them how to do good… without all the collateral damage.
Like, for example, overusing the phrase “You lie” in responses to people with whom you have a lot in common, and simply do not agree completely.
I would like to have an Open Source alternative to FSF sponsored software. Do you have a problem with my having that choice?
Edited 2007-09-16 19:41
Much as I’d love to engage in another whimsical off-topic discussion, about an organization that advocates the freedom to run, copy, distribute, study, change and improve the software, and how truly awful that is.
but I can’t. Your playbook is simply getting old make an off-topic remark about the evils of the FSF/RMS etc with zero justification, and when you get a response call them *overtly-enthusiastic*, and there is no defense to that.
It does tickle me a tad that you make so many nasty comments…I wonder who is your owner as your attacks are always unprovoked.
As for choice I think thats wonderful. I’m personally happy that I can have my GNU without Linux, There are so many choices today…do you have a problem with that? Although again no justification why you made the comment.
Its all so vauge sbergman27?
Edited 2007-09-16 20:07
“””
It does tickle me a tad that you make so many nasty comments…I wonder who is your owner as your attacks are always unprovoked.
“””
I’ll admit to finding your antics a bit amusing. Even though I know, very well, who your owners are.
You’d have been very at home in the French Revolution.
You’d be at the forefront of the mob screaming for the justice of “Madame Guillotine!”. Come on. You would. Admit it. 😉
We have the same goal. But we have different ideas about the most effective way to get there. Frontal attacks only work when you are in the majority. Are we, the FOSS community, in the majority?
No we have very different goals. My goal has always been pro-computing.
I do like the FSF simply because they are the *only* pro-customer group in the open-source world. This is often painted as an anti-company stance although other than a few large monopolistic companies. *All* other companies are potential customers. In addition due to the nature of computing monopolies are inevitable.
I have always stated I am pro-computing, the days of the binary rush, and the decaying of the mainframe have all gone and in the main only a few companies exist, and if you want to see rapid development, and I mean *Desktop* you choose an open-source platform. GNU is simply the most successful. A major part of the success of the GNU platform has been its customer friendly nature and its communities of communities which you despise, and have only an interest in creating disparity between them.
I want success of the Desktop. I’m not interested in the server…or embedded hardware, Linus has already condoned, anything I could do as a customer to Linux its simply not customer friendly.
Do I believe in GPL3 as a license *absolutely* its a fantastic license if the kernel used it I would be more interested rather than Linus’ amended GPL2 one.
…but how does it apply to something like games where companies can’t make money out of a service.
…but how does it get standards adopted by those few monopoly companies that survive by their proprietary applications. How do you get them to *share code*
…but how does that apply to an standardized icon set withing many different programs under different licenses.
etc etc.
You see the major difference between you and me is I can see the value in having a mixture of companies; organizations; individuals boosting their CV etc etc.
I see a place for many licenses. It is adventurous for them to be as compatible as possible, but friction is inevitable.
If I was a Vista user…I would call you a zealot, but the bottom line is you are anti GNU & Linux due to your anti-colaboration stance, ironically in direct contrast to the license you pertend to support.
Cyclops,
Good post. 🙂
“””
No we have very different goals. My goal has always been pro-computing.
“””
You have said that before. Perhaps I should state my goals more specifically. I’m pro-Unix. I have been for the last 20 years. I see Linux (I’ll even say GNU/Linux) as being the way forward for Unix. And I like the Unix way… because, well, Linux takes Unix back to what it was. We used to share stuff without having to have a name for it. That’s why “Free Software” and “Open Source Software” seem, pretty much, to have the same goals, in a real-world sense, to me.
I’m more interested in the server and the embedded space, I think, than are you. But the desktop is my main interest, these days. It’s where the action is.
I tend to like GPLv3. Over all, I think it is an improved license over GPLv2, in many ways. Not everyone agrees. But the points of disagreement are significant, even if I happen to like GPLv3 better, over all. Those people, who actually contribute code to our Open Source projects, deserve to be listened to.
Question: Do you think that the Linux kernel going GPLv3 would be a good thing or a bad thing? Consider the plentiful FUD, and real legal attack, opportunities that would be afforded by such a move. Such a move would, almost certainly, actually *be* legally questionable.
“””
You see the major difference between you and me is I can see the value in having a mixture of companies; organizations; individuals boosting their CV etc etc.
“””
I just don’t see that much difference. Thank you for describing the differences that you perceive. I appreciate that. I’d love to consider you an ally.
To be honest, I kinda consider you an adversary, simply due to the harsh words we have exchanged. But it shouldn’t be that way. Should it?
-Steve
Edited 2007-09-16 22:40
I’m sorry I didn’t realize you were so sensitive.
You have derailed a thread about an exiting youthful project, with your anti-FSF rants. In reality anti-Linux rants.
I will not continue this “conversation” with you, simply becuase in is unfair both on this topic, I have become part of your problem, and I have no intention of giving credence to your “political” views which you seem unable to justify.
I believe there is now a section on this site marked conversations where you are able to further your anti-Linux agenda.
“””
I’m sorry I didn’t realize you were so sensitive.
“””
*sigh*
I’m not, of course. But I do draw the line at being called anti-Linux, since Linux one of the most important things in my life. I am very pro-Linux, and that’s an understatement. Which is why I dislike religious zealots, such as you, damaging our movement, with piss poor advocacy. You make us all look like a bunch of psychotic yahoos. I don’t buy your “pro computing” facade, BTW. You are a religious fanatic. There is really no other way to put it. I’ve tried to put it more diplomatically in the past. But this statement is more accurate.
The sad thing is that there is little that the more reasonable among us can do to avert the damage that you, and others like you do.
And you do not even realize that you are doing more harm than good. You do not allow yourself to see it. You are too busy fancying yourself the knight in shining armor.
I’ve posted your comment here http://www4.osnews.com/conversation/46ee3ec2/Linux_does_not_exist_i….
as I said before your regular off-topic anti-linux rants are inappropriate in this topic.
Dude, I think you’re loosing it.
“You are too busy fancying yourself the knight in shining armor.”
Heh. That made me picture Don Quixote.
It is like that with any OS other then windows. I have a friend that for years wouldn’t go near the platform, because he didn’t want to be associated with rabid mac users (he had some exceptionally bad experiences).
As Linux continues its inevitable drive into mainstream computing, the religious core will become more and more marginalized. It is already happening with apple, I remember a time where if you had a Mac, you were a zealot. Nowadays, its about half and half. As time goes on, the normals will outnumber the nutjobs, and eventually people will be using it because it works well, is free, is fun, etc, rather then that it is moral.
Thank you, google_ninja, for the reasoned and constructive response. It is greatly appreciated. 🙂
“””…but how does it apply to something like games where companies can’t make money out of a service.”””
well actually gpl works fine for games. if you want the engine yeah sure go ahead take it, but the art can (if you want) be copyrighted.
and more importantly if you want a professionally designed well balanced, bug free, play tested level/weapon set you pay for it.
it’s more or less the model id Software uses
also of course as video games get more and more online oriented you can sell a service (and make truly ludicrous sums of cash at it)
SBergman27 wrote:
–“Where did the anti-FSF fervor come from? That’s easy. Overly enthusiastic followers of Stallman have generated it.”
there are ‘overly enthusiastic’ followers amongst practically every faction here on osnews. they exist amongst FSF advocates, Linux/Linus advocates, BSD advocates, etc.
if one was to judge these projects based upon their most rabid followers then they would all look equally bad. but you single out FSF, go figure.
I have great respect for the BSD Projects, had I based my perceptions of BSD on the posts of Oliver, or if I based my opinions on FSF by the ramblings of extremists such as Moulineuff then it would have been a different matter.
as for the compiler discussion, I liked this article because I’m interested in compiler development. if in time, this compiler can fill some practical need that gcc does not then that’s great.
but why must the extremists always use something good related to one project to attack something in another project?
gcc is a great compiler even beyond being the ‘de facto cross-compiler’. it generates good code, and for most common targets it generates great code. most of the more exotic optimizations have stabilized greatly during the 3.x and 4.x release cycles, making -O3 very reliable these days.
as always with compilers, there is alot of room for improvements. I’m looking forward to much improved vectorization (Icc really shines here), link time optimization and improved speed (although 4.x has improved greatly) amongst other things. but claiming that it produces ‘only reasonable code’ can only come from someone who is either totally clueless or intentionally lying.
Where did the anti-FSF fervor come from? That’s easy. Overly enthusiastic followers of Stallman have generated it. Richard and the FSF are more reserved and reasonable than that.
That is true, and unfortunate. But all communities have their unpleasant fanatics. I’ve seen some pretty offensive, aggressive comments from BSD people. Like telling me I don’t understand what freedom is. Still, I would hope that the behavior of some would not be projected on those they purport to follow. “Jesus must be an ass because… well look at the Spanish Inquisition!” Not that I am comparing RMS to Jesus.
“FSF-produced software is generally high-quality stuff.”
Uhum, plenty of people would disagree but lets leave it at that.
“You already have a completely free compiler that works everywhere.”
Not everyone agrees with the GPL/FSF definition of free.
“FSF-produced software is generally high-quality stuff.”
Uhum, plenty of people would disagree but lets leave it at that.
Difficult to argue in any direction.
Not everyone agrees with the GPL/FSF definition of free.
It costs nothing and removes no rights from you as a user of the compiler comping your own software. You may redistribute it without paying monetary cost and you may modify it without paying monetary cost. The only restriction is that you cannot misappropriate it. Maybe that’s not as free as you would prefer, but it is certainly free enough for it to serve as a compiler for your own software, however free that is.
“It costs nothing and removes no rights from you as a user of the compiler comping your own software.”
We’re not talking of users here though, but about a group who distributes an OS that includes a C compiler. The implications become somewhat different.
Plus, as have been repeatedly stated, it’s not only about the license. There are many other aspects of gcc that are problematic.
Either way, what does it matter? If pcc turns out to be a good system compiler for OpenBSD what’s the problem?
It would create much needed competition in the free compiler segment and I cant see how that would be a bad thing.
If it doesnt? Well, better try and fail but never try at all. It’s not like they’re “wasting” anyone’s time but their own.
I am all for the, as you say, much needed competition in the area of free compilers. I said so in my original post. Many desktops, many editors, many MTAs, many compilers!
However, I am extremely annoyed with the way people vehemently reject the GCC on purely licensing grounds, as if all of the software they have used for a decade had not been compiled with the GCC. Absolutely no respect is given to the fact that the GCC has provided a services we all require for quite a long time. Instead the post to which I replied was trying to spit as firmly as possible in the face of those who produce software under the GPL. As if the GPL-using developers have been holding users hostage or something.
GPL, Free software, FSF and RMS supporters are not out to get you. Maybe you don’t like the kind of freedom we advocate, but our software is still free and you always had the freedom not to use it. Where does the hatred come from?
Perhaps a compiler with a better design, more arch support, faster compilation and better code generation will one day replace the GCC, but I doubt it. I don’t object to attempting to produce one, but to do so just because you hate the GPL is stupid.
Not very likely. Stallman’s influence is already next to nil in the BSD community, even if they’re using GCC. And this isn’t particularly relevant for the GNU/Linux community, plus outside of a few you’re not going to find very many people in both camps that’re interested in kow-towing to corporate interests.
That’s the f–k*n problem with you BSD guys. We speak here about damn not optimizing compiler. Of course your binaries are damn slower when they are not optimized. Doesn’t matter what.
And if you really believe you can have a Compiler that is five times faster than GCC, has less Bugs and creates equally good binaries for the same amount of targets than f–k*n go for it. But sooner or later reality might catch you…
MY COMPILER IS BIGGER AND BETTER (SLOWER) THAN YOURS!!..oh, wait…
How about a BSD/MIT-licensed widget toolkit?
http://en.wikipedia.org/wiki/List_of_widget_toolkits#Based_on_C_or_…
On there, I can only count two BSD/MIT-licensed widget toolkits for C/C++.
http://en.wikipedia.org/wiki/Visual_Component_Framework Currently on Windows, just ported to Mac, with a Linux version planned.
http://en.wikipedia.org/wiki/Quinta
Also, e17’s Enlightnened Widget Library (Ewl) is BSD-licensed.
> How about a BSD/MIT-licensed widget toolkit?
What about a BSD licensed widget toolkit with BSD licensed IDE and visual designer?
http://www.ultimatepp.org/
BTW, BSD licensed *C++* compiler would make this even better…
This thing looks cool.
Thanks for mentioning.
The Linux version is actually in the works AFAIK. Didn’t knew it had an article at wikipedia though.
VCF is actually quite nice. Very clean
PCC was never meant to be a production compiler. It was meant to be a bootstrap compiler to get unix running on a new platform. Then one could develop a real compiler for that platform. One of the reasons the bundled compiler disappeared, ie. pcc, was that people started shipping real production compilers. Personally, if one really wants a quality BSD licensed compiler, time would be better spent on something like the TenDRA compiler, http://www.tendra.org. pcc was originally designed to be easy to port, not to produce good object code. I guess this might be good for the NetBSD platform, but for X86 this is a giant step backwards.
Personally, having been one of the maintainers for TenDRA for the last, what was it, 5 years or so, I do not think TenDRA as a whole is the compiler you want to use to start to replace GCC with. The main reason in my opinion would be that you would want to replace the intermediate format with a more modern one. And thus a large part of the entire code base already becomes irrelevant.
Edited 2007-09-16 08:13
“PCC was never meant to be a production compiler.”
Linux wasn’t originally meant to be a desktop OS or an embedded OS. What’s your point?
I’m glad that a significant project of being GCC is being highlighted, and the long term success of Stallman as the original programmer is highlighted. I do think its a wonderful that his contribution to free-software…and I use the right political term is being appreciated, by those who who use the software. Including those Vista…sorry *BSD users.
What I think is most bizarre after the many threads showing the importance…and sour grapes of the importance of FSF for *20 years* even on the politically different BSD platform. Is that proponents cannot argue the *potential* benefits of this project using their license, it just looks like envy.
The *fun* thing is. What are the *real* benefits of a *different political license? In contrast to failure of BSD to come up with a credible compiler for *20 years*. I see real advantages of a BSD licensed compiler. I can think of at least Intel that have their own compiler, and I suspect would love to be able to offload some of their work, and *keep stuff back*. Apple make no bones about their preference for using *BSD licensed work. Thats without talking about all the potential binary extensions. Although for practical reasoning i would prefer the source to be *really* open, and I know that Thom has already highlighted the desperate need for a tit-for-tat as part of the BSD licensing. I hope companies are not scared off by his recent public attacks on those who do not want their code under the BSD license. Its only a matter of time till he attacks those who use BSD in their proprietary programs.
As a side note a 10 times faster compiler potentially sees the growth of source-based meta-distributions. Already we are seeing the death of the old Linux/*BSD/Solaris distributions. Swapping things like the kernel, is already becoming as trivial as swapping mail clients.
Edited 2007-09-16 07:07
There are several fallacies included in your comment.
Any reasonably portable distribution is technically a “source-based meta distribution”. That’s because it is started off as source code and tailored to be used on multiple platforms.
Swapping things like the kernel is by no means trivial as of yet. The kernel is not alone in this respect. What we’ve come to know as a distribution is a combination of several building blocks: kernel, installer, boot system, core libraries, core tools, compiler, package manager and finally the userland (many supplementary libraries and applications).
I’m guessing that by “meta-distribution” you mean a distro that keeps the largest part of the userland but makes changing the other building blocks as easy as possible. That is not an easy thing to do. Several of those elements are closely interlocked. Some of them are paramount to the distro maintainers’ workflow or to the user experience with installation and management.
So far, the only distro I’m aware of that has taken significant steps in this direction is Debian, which has produced hybrid combos: GNU/FreeBSD, GNU/NetBSD, GNU/Hurd and GNU/Solaris.
http://www.us.debian.org/ports/#nonlinux
http://www.gnusolaris.org/
Edited 2007-09-16 15:43
I think its increasingly sad that people on here cannot differentiate the benefits that each license can bring to a project. I understand there are political motivations behind such licenses. Its become a smackdown for different enigmatic leaders, and never with *any* justification I’m yet to see any justification for the Bile I see against Richard Stallman and FSF by Oliver and sbergman27, which get increasing bizarre I believe he was compared to *Bush* recently. In this instance the whole irony a *successful* *open-source* project that has been a cornerstone of the free-software world wrote by the man cannot be understated.
I know that Vista users are concerned about the success that copyleft licenses have been, and will advocate anything *BSD* simply because its not threatening…it has no teeth. Although I suspect the reality is Microsoft is so far ahead nobody is ever going to catch up.
I am disappointed an exciting youthful project like this one it not taken on its own potential merits, both from a quality and a politically different license that makes it rightly deserving of its highlighting on this page.
Edited 2007-09-16 07:24
Perhaps they are just cover handles for Bill G and Steve B?
/humor.
“””
I know that Vista users are concerned about the success that copyleft licenses have been
“””
You call my views “bizarre” and then go off on your truly Twilight Zone tangent about “Vista Users” in the next paragraph?
It’s always seems to be “Vista Users” with you. (Are XP users somehow better?) And Vista seems to be a fundamental thing. If *I* were a Vista user, you would simply write me off, rather than taking the time to call me mentally ill, as you have done, repeatedly, in the recent past. (As I recall the reasoning was that I had concerns about Stallman, didn’t use Vista, and so must be mentally ill. QED)
Could you please elaborate on the root causes of your “Vista Users” fixation?
Edited 2007-09-17 07:10
How ungrateful so many BSD users are. You’ve used GPL’d software for a great many years, and without it, you’d have been stuck up a certain creek without a certain paddle and you know it.
Go on then, piss off and leave the GPL’d software alone, those of us who believe in Free Software would rather you didn’t use it in all honesty. But, since big business loves BSD (something for nothing!), they’re happy to support BSD users in their anti GPL/FSF propaganda.
As for Linus and the Linux kernel, it stopped being the “people’s kernel” a good number of years ago when big business hijacked it.
Dave
Did someone shit into your cereals this morning, or what?
You really should try to get over your self… It’s not as if you can do all your work with gpl only software. Or are you gonne claim that all software in a linux distro would be under the gpl licens?
You just gotta love when the gpl people talk about big business’ taking code without giving back while they do the same them self.
First off, what are these “gpl people” you talk about?
Second, how on Earth does the GPL license not give back code? It was based on freedom of code and free circulation.
Oh, if it’s about the ideological argument that BSD can’t touch GPL’d software, save it, I’ve heard enough of it already. It’s been discussed to death all over the place and IMO it has nothing to do with BSD or GPL, it’s just several individuals locking horns in very public places.
“First off, what are these “gpl people” you talk about?”
That would be people like the one i replied to…
“Second, how on Earth does the GPL license not give back code? It was based on freedom of code and free circulation. ”
And you see a lot of code going back to the major bsd’s from the gpl’ed projects?
“Oh, if it’s about the ideological argument that BSD can’t touch GPL’d software, save it, I’ve heard enough of it already. It’s been discussed to death all over the place and IMO it has nothing to do with BSD or GPL, it’s just several individuals locking horns in very public places.”
Cant handle that it’s the way it happens? Or is it just that any gpl’ed projekt is like a black hole for code when it comes to the bsd projects that you don’t like?
You are totally offtopic. Thanks for sliming this compiler thread with your GPL politics and stump speech.
I hear RMS is looking for interns, why don’t you apply for a paige position so you can work under his tutelage? He needs someone to bring him teabags.
The big benefit of it is that it is fast, 5-10 times faster than gcc
i know i’m thinking nonsense but when i read it was 5-10 faster than the gcc the first thing that came across my mind was I hope nobody tries to try to GPL it,LOL
I’m gald the BSDs now have their own compiler.
going to get rid of the GNU pieces huh?