Some arguments for GNU's goals

Once GNU is written, everyone will be able to obtain good system
software free, just like air. This means much more than just saving everyone the price of a license.

It means that much wasteful duplication of system programming effort
will be avoided. This effort can go instead into advancing the state
of the art.

Complete system sources will be available to everyone. As a result, a
user who needs changes in the system will always be free to make them
himself, or hire any available programmer or company to make them for
him. Users will no longer be at the mercy of one programmer or
company which owns the sources and is in sole position to make
changes.

Schools will be able to provide a much more educational environment by
encouraging all students to study and improve the system code.
Harvard's computer lab used to have the policy that no program could
be installed on the system if its sources were not on public display,
and upheld it by actually refusing to install certain programs. I was
very much inspired by this.

Finally, the overhead of considering who owns the system software and
what one is or is not entitled to do with it will be lifted.

"So, how could programmers make a living?"

There are plenty of ways that programmers could make a living without
selling the right to use a program. This way is customary now because
it brings programmers and businessmen the most money, not because it
is the only way to make a living. It is easy to find other ways if
you want to find them. Here are a number of examples.

A manufacturer introducing a new computer will pay for the porting of
operating systems onto the new hardware.

The sale of teaching, hand-holding and maintenance services could also
employ programmers.

People with new ideas could distribute programs as free software, asking
for donations from satisfied users, or selling hand-holding services.
I have met people who are already working this way successfully.

Users with related needs can form users' groups, and pay dues. A
group would contract with programming companies to write programs that
the group's members would like to use.