Author Topic: pro's and pre's of compilers  (Read 16243 times)

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: pro's and pre's of compilers
« Reply #15 on: August 17, 2005, 11:17:48 am »
You're of course right, one has to use the tool that does the job. If gcc does not do you, it is quite obviously not your tool.

Now, what is "coolness", how to explain in less than 5000 words :)

Just two examples:
(1) gcc's extended inline assembly is a good example of "coolness". Instead of having to remember registers and reading from a memory reference inside your assembly (which you can still do of course, if you absolutely want), you can basically tell the compiler: "Listen up, moron. I don't care what you happen to have in any of your registers. I want to use these variables in my assembly, and I want you to do these instructions with those values."
You can specify about everything from "use something" or "use some data register" to "use this specific register". Gcc will make something out of it. If your variable happens to be in a register anyway, this register will be used. If gcc must free a register and it knows that the value is not being used in that function any more, it can just do so without the hassle of saving and restoring values. In all other cases, it does the same stuff you would otherwise have done, too, but you don't need to care. Oh yes, and it runs cse elimination and instruction scheduling beyond asm boundaries unless you tell it not to.
If you happen to need a cmpxchg8b in your code, and objdump -dS shows exactly one opcode inserted for that instruction (well, two, if you count in "lock"), then this is quite awesome. That may be a bad example because in the meantime, there is probably an intrinsic function for that particular operation (is there, don't know?), but you get the idea. The principle is cool.

(2) Attributes. Need I say more :)

Another reason why I like gcc is that it is free, of course. MSVC toolkit is not free. Mabye it does not cost anything, but it is not free. Free software is cool, too, in some way.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline Vampyre_Dark

  • Regular
  • ***
  • Posts: 255
  • Hello!
    • Somewhere Over The Rainbow...
Re: pro's and pre's of compilers
« Reply #16 on: August 17, 2005, 01:47:22 pm »
:lol: I'll have to trust you on 1, as I don't use assembly.

:( What are attributes?

However, I happen to think that gcc's free is not really free.

GCC / MinGW
+ Doesn't cost anything.
+/-  Do what you will with it, but here is a license that dictates what you really want to do with it, and what you SHOULD do with it. If you do x, you MUST do y. Also, don't ask anybody about this license, as everyone will give you a different answer, and nobody really knows for sure. Also, we will force this license on anyone who wants to use this free stuff.
- MinGW might as well not exist when it comes to support from certain libraries, or examples. (Obviously that's not an issue to some, but we live in a windows world.)

VC++Toolkit:

+ Doesn't cost anything.
+ Do what you will with it.
-  Vendor Lock In. (Only an issue to some, and then maybe not. Depending on the code written.)
-  Apparently isn't cool.
« Last Edit: August 17, 2005, 01:58:00 pm by Vampyre_Dark »
C::B Wishlist
~BOYCOTT THE EVIL YELLOW BOXES~

Offline AkiraDev

  • Multiple posting newcomer
  • *
  • Posts: 71
Re: pro's and pre's of compilers
« Reply #17 on: August 17, 2005, 02:29:52 pm »
:lol: I'll have to trust you on 1, as I don't use assembly.

:( What are attributes?

However, I happen to think that gcc's free is not really free.

GCC / MinGW
+ Doesn't cost anything.
+/-  Do what you will with it, but here is a license that dictates what you really want to do with it, and what you SHOULD do with it. If you do x, you MUST do y. Also, don't ask anybody about this license, as everyone will give you a different answer, and nobody really knows for sure. Also, we will force this license on anyone who wants to use this free stuff.
- MinGW might as well not exist when it comes to support from certain libraries, or examples. (Obviously that's not an issue to some, but we live in a windows world.)

VC++Toolkit:

+ Doesn't cost anything.
+ Do what you will with it.
-  Vendor Lock In. (Only an issue to some, and then maybe not. Depending on the code written.)
-  Apparently isn't cool.

Regarding the GPL, the notion that it restricts the developer's freedom is nothing but FUD.

Here's a few things we should keep in mind.
As long as you don't make any changes to the source code, you are free to use it in whatever form you like - commercially or not. Of course, if you distribute a GPL'ed program, you should also distribute or in some way indicate the program user where to find it's unchanged source code - which does not even affect you, since it is the very same source code that was available to you in the first place.

If you change the program, distribute the adapted source code as well. If you do not whish to distribute the altered version source code, well, rewrite it from scratch and use any ideas or notions you find useful - unless there are patents involved, but don't blame the GPL on that :lol:. This "restriction" is merely a defense mechanism against greedy developers who like to rip off other people's work.

Now the issue which often raises confusion is what happens with LGPL'ed code - such as that of libraries.

People often think that if you so much as link to a LGPL library, you proprietary code becomes "infected" by the GPL - this is FUD!
You can link dinamically to a LGPL library and your own code, while depending on said library, does not even become open-sourced. This means the following: you can build commercial software on top of LGPL (notice, not GPL) code, provided the code is not mixed. This means that nothing prevents software companies fom making commercial programs to run on Linux, as some already do.

Oh, and it is becoming less of a windows only world, btw - fortunately!

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: pro's and pre's of compilers
« Reply #18 on: August 17, 2005, 02:40:39 pm »
GCC / MinGW
+ Doesn't cost anything.
+/-  Do what you will with it, but here is a license that dictates what you really want to do with it, and what you SHOULD do with it. If you do x, you MUST do y. Also, don't ask anybody about this license, as everyone will give you a different answer, and nobody really knows for sure. Also, we will force this license on anyone who wants to use this free stuff.

Where do you derive this from? Honestly, I do not see such thing in there:
Quote from: www.mingw.org/licensing.shtml
MinGW runtime:MinGW base runtime package is uncopyrighted and placed in the public domain. This basically means that you can do what you want with the code.
w32api: You are free to use, modify and copy this package. No restrictions are imposed on programs or object files compiled with this library. You may not restrict the the usage of this library. Blah blah, no warranty...
gcc, make, etc. : GNU General Public License.
Maybe it is the GPL that you don't read correctly. If you build a compiler based on gcc's sources (or some other derivative work) or if you borrow code from its parser or whatever, then the program you produce must be licensed under the GPL.
If you just compile your own programs, then you are free to do whatever you want. Of course they would prefer seeing you write free software, but you are not compelled to do so.

EDIT:
Oh by the way... Do you realize that following your reasoning, you should not use code::blocks at all?
code::blocks is licensed under the GPL, so if you edit your sources with it, all your programs must follow that license :P
« Last Edit: August 17, 2005, 02:48:22 pm by thomas »
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline Vampyre_Dark

  • Regular
  • ***
  • Posts: 255
  • Hello!
    • Somewhere Over The Rainbow...
Re: pro's and pre's of compilers
« Reply #19 on: August 17, 2005, 02:49:29 pm »
I understand that. But You can't preach one thing, and then do another thing in practice. There are other free-er licenses, and they don't require what the GPL requires.

OpenGL is a free library. It doesn't place any restrictions on me.

DirectX is a free library. It doesn't place any restrictions on me.

I picked up a small utility library to help me with OpenGL extensions the other day. It's free to use and all you have to do is place credit for using it.

Freedom with a bunch of catches isn't really free. Look at what happened when they tried to post about codeblocks on the gcc forum. :) Where was the freedom there?
C::B Wishlist
~BOYCOTT THE EVIL YELLOW BOXES~

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: pro's and pre's of compilers
« Reply #20 on: August 17, 2005, 03:01:37 pm »
Quote
Freedom with a bunch of catches isn't really free.
Freedom should never be confused with anarchy. Freedom is something very precious that is all too easily lost. The "catches" imposed by the GPL are there for only one reason. To protect freedom. Without these "catches", companies like for example Microsoft or SCO would just copy the code, put their brand onto it, get a patent pending, and finally sue the original authors. They still do that, but the GPL makes it a lot harder for them. It is not for no reason that Darl McBride and Bill Gates are the two most hated men on earth.
Quote

Look at what happened when they tried to post about codeblocks on the gcc forum. :) Where was the freedom there?
google codeblocks site:gcc.org = nil
No idea?

EDIT:
Ah, think I found what you mean, Danny Smith's coment on the MinGW forums? That is correct, but it is an entirely different issue if you read it closely. This is about distributing MinGW, not compiling with it.
And he is technically right, too. The GPL says "if you distribute copies of such a program, [...] you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code".
Well, that is not a problem really, is it. If you have a link to Sourceforge on your site, they can get the source. There is nothing in the GPL that says you must sacrifice ten thousand gigabytes of transfer bandwidth for sources.
All they really ask is that you give people a fair deal and the same rights that you are given too.
« Last Edit: August 17, 2005, 03:18:53 pm by thomas »
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline Vampyre_Dark

  • Regular
  • ***
  • Posts: 255
  • Hello!
    • Somewhere Over The Rainbow...
Re: pro's and pre's of compilers
« Reply #21 on: August 17, 2005, 03:24:14 pm »
:shock: Little correction here:

I'm not adverse to using GPL programs, I use a few. However, most libaries and stuff made for gcc are under the gpl, and you end up forced into it. You also end up with a lot of users who refuse to use your program and some goto the point of slandering it if you don't release the source.  :? That's really a shame, because it turns a lot of people off of the whole thing. (I know this does not represent everyone!) A lot of this stuff chases a lot more of us little indy guys away from supporting linux than you probably realize.

AkiraDev, if you were referring to Linux making more than a the tiniest dent in the windows world. I highly doubt it. There are a few hurdles to get over that never seems like it's going to happen.

- Lack of drivers

- Lack of high quality software
Everyone seems to hide in their little corner and release a bunch of apps. You end up with a bunch of little second and third rate applications, and never any really good ones that can compete with the professional ones. If a lot of these little teams, or solo guys teamed up, instead of everyone wanting to do it on their own, there could be some real killer apps. eg: The newest Gimp release still doesn't even come close to measuring up to my 6 year old paint program. Which is too bad, because I really want that thing to take off. As it stands now, I only use it when I need one of the few filters it has, and then I paste the result into my other paint window.

So why switch? There are not many apps of equivalent quality to those on the 2 other dominant OSes.
C::B Wishlist
~BOYCOTT THE EVIL YELLOW BOXES~

Offline AkiraDev

  • Multiple posting newcomer
  • *
  • Posts: 71
Re: pro's and pre's of compilers
« Reply #22 on: August 17, 2005, 03:37:52 pm »
AkiraDev, if you were referring to Linux making more than a the tiniest dent in the windows world. I highly doubt it. There are a few hurdles to get over that never seems like it's going to happen.

- Lack of drivers

- Lack of high quality software
Everyone seems to hide in their little corner and release a bunch of apps. You end up with a bunch of little second and third rate applications, and never any really good ones that can compete with the professional ones. If a lot of these little teams, or solo guys teamed up, instead of everyone wanting to do it on their own, there could be some real killer apps. eg: The newest Gimp release still doesn't even come close to measuring up to my 6 year old paint program. Which is too bad, because I really want that thing to take off. As it stands now, I only use it when I need one of the few filters it has, and then I paste the result into my other paint window.

So why switch? There are not many apps of equivalent quality to those on the 2 other dominant OSes.

Lack of drivers: I agree that this is the biggest downfall for _users_.

Lack of high quality software: This is what I was pointing out. Linux has become a OSS-only environment, and a lot of developers help to spread this prejudice you speak of. No disagreement there. I was merely pointing out that the whole GPL/LGPL foundation of Linux is a prime factor for it's lack of high quality software (I'm correlating commercial software with high-quality, naturally), since it becomes needlessly hostile to commercial companies, not due to actual license restrictions, but rather due to prejudice from fundamentalists.

I wish that a few BIG software companies would start SELLING high-end software for Linux, that would really stimulate it's growth.

P.S.: It is still growing and getting better, nonetheless, just slower than one would like.

Offline Vampyre_Dark

  • Regular
  • ***
  • Posts: 255
  • Hello!
    • Somewhere Over The Rainbow...
Re: pro's and pre's of compilers
« Reply #23 on: August 17, 2005, 04:07:33 pm »
Lack of drivers: I agree that this is the biggest downfall for _users_.
Why the special treament on the word users? Joe User is the most important one to impress if you want real growth.

Growth in the server room doesn't mean mainstream user growth. Linux is still brutal to the non tenchical users. It needs to stop branching off into 5,000 distros and make 1 really good one. And the OSS devs need to start pooling their knowledge into killer apps. We need equavalent or better apps for everything that can be done in Win or Mac. They focus on ease of use, while Linux caters to the tiny percentage of people who like to spend their night compiling a kernal or gui when they could have gotten it precompiled and went on with their computing. IMO the whole linux movement goes around in circles and never becomes any better than it was before at becomming a mainstream OS.

:) I'm happy this didn't go down the negative road I thought it would.
C::B Wishlist
~BOYCOTT THE EVIL YELLOW BOXES~

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: pro's and pre's of compilers
« Reply #24 on: August 17, 2005, 04:29:39 pm »
Hmm... I have not compiled a Kernel ever since Fedora Core 1.

The only significant driver problem I ever had (and still have) is nVidia's video drivers. That's clearly nVidia's fault, though.
Contrarily, Linux works off-the-bootdisk with my RAID controller while Windows needs a driver floppy disk. First, this can be quite a problem if your computer has no floppy drive. And then, you are then prompted with 3 alternative drivers for 3 chipsets. Honestly, I have no clue which exact chip I have on my board. I just want it to work, and with Linux, it does.

Linux has lost a lot of its brutality alltogether. My old mother still has to try hard not to use the mouse as a microphone, but even she is able to use SuSE these days. :)

Your objection on the huge number of distributions is certainly a problem in some way, but note that diversity is also one of Linux's great strengths. Think of INSERT (or Feather, or Knoppix, or...) for example. You can have a Linux rescue system with X and a full suite of backup tools (or OpenOffice, or...) on a creditcard-sized cdrom or on a memory stick. That is pretty darn cool.
Show me a WindowsPE that fits on a 64MB stick :)
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline Vampyre_Dark

  • Regular
  • ***
  • Posts: 255
  • Hello!
    • Somewhere Over The Rainbow...
Re: pro's and pre's of compilers
« Reply #25 on: August 17, 2005, 05:00:36 pm »
Heh, microphone. I just saw that on Star Trek 4 when someone else was watching it not long ago. RIP Scotty.

I like Knoppix, but I believe someone made a Win32PE in 16mb. However it obviously can't be distributed. How has Knoppix come along recently? My last burn is a year old, and they were moving over to a DVD version while the CD ( I have no DVD drive, so...) became secondary. A floopy drive isn't needed to install Windows... you boot up off the CD, ever since 95 or 98. knoppix was my first linux, then I got Mandrake and installed it a few years ago. 9.0 I think.

nVidia is the leading videocard provider, and for the hardcore gamers the most important hardware they own. But they have no games to play other than a small handfull of ports. But IMO, regardless of who is at fault over them, it hurts Linux's adoption. (I know of Wine and WineX.. but that's a bit too ironic to work into there. Dumping Windows to pretend to run windows.)

The choice of distro is not a bad thing in itself, but why spend so much energy with tons of near similar distros with different branding? This does not make Linux better, this doesn't give Linux the better apps it needs. The talent is there, but it's spread so thin between different projects that are trying to achieve the same goal!
« Last Edit: August 17, 2005, 05:04:27 pm by Vampyre_Dark »
C::B Wishlist
~BOYCOTT THE EVIL YELLOW BOXES~

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: pro's and pre's of compilers
« Reply #26 on: August 17, 2005, 05:41:05 pm »
I like Knoppix, but I believe someone made a Win32PE in 16mb. However it obviously can't be distributed. How has Knoppix come along recently?
No idea, after "Damn Small Linux" started selling a bootable USB stick with DSL pre-installed for 48 US$, I did not bother to burn any more rescue CDs. And all my "real" Linux boxes run Fedora Core 4.

Quote
A floopy drive isn't needed to install Windows... you boot up off the CD, ever since 95 or 98.
Not true. Windows 98SE does boot off CD, but Windows98 and Windows95 do not.
No version of Windows (not even WindowsXP SP2) installs without floppy disk if you have a RAID.
You can boot from the DVD into the installer, right. But that's it.
The installer will offer you "Install onto <<no hard disk found>>" and "Load third party driver from floppy disk". There is no "Load driver from Installation CD". Of course you can "slipstream" your drivers onto the installation DVD, but this is not quite in concordance with the EULA, and certainly not suitable for Joe Normaluser.

Quote
nVidia is the leading videocard provider, and for the hardcore gamers the most important hardware they own
Yes, and they p#*@#ed off everybody trying to write a driver for their cards to maximum extent possible. I remember reading a discussion some 2-3 years ago, and they were seriously thinking about skipping the support for nVidia in XFree entirely.
The drivers that nVidia distributes themselves, well... maybe they work by now, who knows. I last tried two years ago, shot my foot with them twice and cannot be bothered to try another time.
It is actually a shame because such things really prevent people from using Linux.
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline rickg22

  • Lives here!
  • ****
  • Posts: 2283
Re: pro's and pre's of compilers
« Reply #27 on: August 17, 2005, 07:32:32 pm »
+/-  Do what you will with it, but here is a license that dictates what you really want to do with it, and what you SHOULD do with it. If you do x, you MUST do y. Also, don't ask anybody about this license, as everyone will give you a different answer, and nobody really knows for sure. Also, we will force this license on anyone who wants to use this free stuff.

rofl! The hordes at slashdot would burn you at the stake!

The GNU General Public License is for REDISTRIBUTING programs, not for COMPILING with them. If I recall correctly, the libraries used by MinGW are NOT GPL licensed but public domain.

From http://www.mingw.org/mingwfaq.shtml#faq-license :
Quote
# The MinGW basic runtime system, which is basically the glue to the underlying operating system, is completely in the public domain. The runtime system includes MinGW headers (such as stdio.h), libraries (such as libmingw32.a) and import libraries for CRTDLL/MSVCRT.
# W32API, which consists of the headers and import libraries related to WIN32 API access, is released under
# copyright . The copyright agreement states no restrictions are placed on programs or object files compiled with the library.
# Mingw development tools, which include compilers, linkers, other tools in the bin directory, etc., are released under the GNU General Public License.
# Profiled code, which is code compiled and linked with the -pg option for runtime profiling, also falls under the GNU General Public License. CAUTION: do not distribute proprietary source with profiling enabled. The profiling library is covered by the GPL which infects your product to conform to the GPL as well.

Meaning that you can distribute a MinGW-compiled program as you wish (as long as it's not profiled). No strings attached.

Now the problem with Codeblocks is: That it *DOES* include MinGW, meaning that it must abide by the GPL. This is the reason we had to add the links to the MinGW sourcecode in our downloads section. But if i use codeblocks to make a program, say "helloworld.exe", I can distribute helloworld.exe however I freaking want.

Edit: Oops, seems i posted this TOO late :P
« Last Edit: August 17, 2005, 07:35:40 pm by rickg22 »

Offline kagerato

  • Multiple posting newcomer
  • *
  • Posts: 56
    • kagerato.net
Re: pro's and pre's of compilers
« Reply #28 on: August 17, 2005, 11:29:08 pm »
Quote from: Vampyre_Dark
The choice of distro is not a bad thing in itself, but why spend so much energy with tons of near similar distros with different branding? This does not make Linux better, this doesn't give Linux the better apps it needs. The talent is there, but it's spread so thin between different projects that are trying to achieve the same goal!

I'm not certain they are trying to achieve precisely the same goal.  The variety of software on the Linux/GNU desktop is the result of many different viewpoints and ideologies.  The difference between this and the Windows world is fairly simple: projects in the Windows realm compete commercially, with money.  The introduction of such a tangible resource and how it is managed, combined with the demands of the user base, tends to put quite a number of Windows programs out of business over time.

Linux/GNU allows old programs (and indeed, old programming methodology) to survive indefinitely because there is no cutthroat competition.  Users of free software are unable to demand growth -- indeed, people who do are usually bashed into the ground.  Users of commercial software simply let their purchases do their talking for them.

This doesn't mean free software doesn't evolve; it does (and often more impressively than commercial software).  The direction of the evolution, however, is determined mostly by developers rather than users.  As the movement has gained more users over time, this state has begun to shift -- how far this will go remains to be seen.

Quote from: thomas
No version of Windows (not even WindowsXP SP2) installs without floppy disk if you have a RAID.
You can boot from the DVD into the installer, right. But that's it.
The installer will offer you "Install onto <<no hard disk found>>" and "Load third party driver from floppy disk". There is no "Load driver from Installation CD". Of course you can "slipstream" your drivers onto the installation DVD, but this is not quite in concordance with the EULA, and certainly not suitable for Joe Normaluser.

My friend recently had this problem in setting up his machine.  Why Windows XP lacks native support for most (all?) RAID-capable motherboards is beyond me.  It can become a real nuisance; especially if one doesn't have a floppy drive on-hand.

3.5" floppies are rather antiquated now; it amazes me that we still need them (for anything) at all.

Modifying the installation process probably does break the EULA.  There's absolutely nothing Microsoft can do about it, however.  The binding power of EULAs is quite weak due to the relatively few court cases involving them (of those cases, several have conflicting rulings).  Until such a case reaches a federal court, enforcing the terms of any EULA is precarious ground (rarely, if ever, worth the effort of a major corporation).

Of course the prior paragraph applies to the U.S. only -- the legal power of the EULA is probably even more questionable (bordering, I would imagine, on laughable) in many other nations.  Considering the piracy rate in China, Southeast Asia, and Eastern Europe, it doesn't seem like the EULA should be a major source of concern or attention for Microsoft.

Quote from: thomas
The drivers that nVidia distributes themselves, well... maybe they work by now, who knows.

They seem to work quite well for many people.  I've hardly done any significant gaming on linux/gnu (or any non-Windows platform), so the performance and stability of the drivers is not completely proven to me.  However, there are quite a number of reports of success these days.  The documentation of the driver has also improved significantly, if you compare the modern README to those provided in the past.

I don't believe drivers is the primary issue preventing broad adoption of free software.  Linux has made great (massive, really) strides in improving and expanding the provided hardware drivers over the past decade.  A good number of devices work "out of box" just as well in Linux/GNU as they do in Windows.  Some third-party devices actually have support I would deem better in the open source world than they do on Windows.

Quote from: AkiraDev
I wish that a few BIG software companies would start SELLING high-end software for Linux, that would really stimulate it's growth.

I chose to address this last because it is probably the widest topic presented.

The question begging to be asked is: "why has commercial software not been successful in the GNU/Linux market?", or perhaps "why don't companies (such as game manufacturers, for instance) release more programs for Linux?".

A common response to such a query usually points to the fact that Linux/GNU users (or indeed, the entirety of all users who are dependent primarily on free software) make up only a small percent of the market.  This does not seem to be a complete response, though.

One issue deterring the introduction of numerous pieces of commercial software on Linux/GNU is simple: ideology.  Particularly, it is the ideology of the extreme left (of notable mention, Mr. Stallman) which hampers widespread adoption and embracement of a multitude of proprietary programs.  To put it more clearly: some users don't want commercial products, and a few even fear the introduction of them on a wide scale.

An atmosphere of dislike (or in some cases, contempt) for proprietary programs decreases the liklihood of success for said programs -- a simple conclusion.  Yet, one must ask why the introduction of large bodies of commercial software would harm any Linux/GNU user.  The truth is that is does not; every person would still have the choice to simply not use commercial solutions.  What the introduction does create is new demand among a portion of the user base, and this is a terrible threat to the "purity" of the system.

Ultimately, the deduction to be drawn from these premises is that Linux/GNU is only as commercially viable as the overally user base wants it to be.  The greater the demand for proprietary software developments, the less the influence of the extremists will be.

Some people question why open source software itself is not effective in the market.  After all, why shouldn't free software work in a free market?  The problem is two fold.  One, the freedom of the software necessitates the lack of cost for the software.  So long as the program source is freely distributable, not only can third parties create new binaries -- they can then turn around and distribute their creations at absolutely no cost to the consumer.  This means that any open source project which charges for itself cannot thrive in an environment where there are people willing to give their own time and effort towards cost-free distribution.  Two, people are driven by convenience and their wallet's limitations.  The average consumer, given the option of purchasing a piece of free software (which will require time to find it, effort to obtain it, and money for the actual purchase) or downloading that same software at no cost and automatically installing it through their distribution's package manager, will inevitably choose the latter.

So long as we live in a world where time and money are scarce resources, I do not see how Linux/GNU will be able to prosper in the commercial marketplace.
« Last Edit: August 17, 2005, 11:31:17 pm by kagerato »

Offline grv575

  • Official tester
  • Regular
  • ***
  • Posts: 381
Re: pro's and pre's of compilers
« Reply #29 on: August 18, 2005, 07:09:07 am »
Re lots of small developer maintained programs (linux) vs. heavily developed large-scale programs (windows), it also that way because of a different mentality.  Linux, and having a bunch of specialized small utility programs, is great for scripting and server maintainers.  Windows is not as easy to automate, but much easier to learn how to use a certain program without reading docs.

I do think GPL licensing is a problem though.  Say I write a commercial proprietary app that I want to use in-house as well as sell to vertical market clients.  I want it to be portable, and want some of the output to be lossless images.  The libtiff library basically lets me distribute the image dll and link against it, even bundle everything with my source, so long as I leave the copyright information in the .h headers intact.  So I just can't outright steal the source...loads less restrictive than GPL.

With GPL though, can I change the source, redistribute it with the changed source, but still license my proprietary code how I wish, so long as I don't mix the two codebases?  (If not, then what prevents me from joining their CVS, commiting my changes, and then downloading and using that version...)

Btw, I don't think there are really _any_ restrictions in using VC++ Toolkit.  It's missing some .lib header files, but all the static lib files it is missing can be gotten from the platform sdk or .net sdk for free.  The only ones that aren't available in those two packages are the import libs (which are needed to link to some versions of the c++ runtime dlls).  These don't actually contain source code -- they just contain imports which tell the linker where in the dll a specific function occurs.  So they're easy to generate using sed and link.exe.  As for whether this is legitamate according to MS, I'm not sure anyone knows for sure, but look at it like this -- this is really not reverse engineering their binary code, but nothing you could not achieve by writing a tool which used LoadLibrary() and GetProcAddr() calls to figure out the offsets in the dll yourself of a specific function.  So the api functions MS provides are really all that's needed to link against the dll; the lib file just makes it more convenient (and I could just write a tool to generate said .lib files as easily using MS api functions).


« Last Edit: August 18, 2005, 07:13:38 am by grv575 »