Appling your criteria, one could make the case that Macs, Windows, Linux and BSD run about the same number and kind of apps-- which isn't too far off base, but also isn't very useful in platform evangelism.
So you're saying that I shouldn't say
something you admit "isn't too far off base"
so that you can do free software marketing
more easily?
And you people bitch and moan when professional
marketing people lie. Sheesh.
It's important not to exaggerate when you're refuting an argument. In this case, exactly how many thousand of these Windows apps are useful, unique, and stable?
Hint: calling the bluff when somebody claims
that there are thousands of Qt/GTK apps
doesn't mean that I'm asserting there are
such apps on Windows, on Mac OS, on any other
platform, or on all of these platforms
combined.
Let me be clearer. A quick and inaccurate
estimate of the "Editors" section in Debian
yields about 200 packages. Some larger apps
like Emacs or Abiword are composed of
several packages, so I would guess that
there are about 150 editors in there. Most
of these are not unique. Some are possibly
not even stable and useful. How many can
you even name off the top of your head?
There are probably over 500 packages under
"Games". How many of those are boring
reimplementations of Tetris or Minesweeper?
How many of them match commercial software
in polish?
The point is not to put down free software.
The point is that claiming there are
thousands when the actual useful number
(once you apply "useful, unique, and stable"
qualifiers) is quite a bit lower is just
dishonest. When you advocate in dishonesty,
you do a disservice in the long term.
with fink and an X11 server i instantly have a BSD machine that can run thousands of qt/gtk apps.
It's important not to exaggerate when you're
advocating something. In this case, exactly
how many thousand of these Qt/GTK apps
are useful, unique, and stable?
How many web sites have to have to explain the GPL before people can get it?
Not too many, as long as they include the New
York Times, Wall Street Journal, and the like.
Bruce Perens and Linus Torvalds talks to
hundreds to people at a time, tops. These
outlets talk to millions.
You can explain till your blue in the face but if the audience is hell bent on ignoring you then you'll never succeed.
The audience is not hell bent on ignoring you.
It's just that it's convenient to ignore you.
While advertisements from IBM and Oracle are
a start, they're still traditional vendors of
proprietary software. That is, you buy Linux
from IBM because you know IBM, and you know
they'll only sell you properly licensed
software. (That's the theory.)
What I'm talking about is promoting a grassroots
understanding of the community and what
it can offer. In this effort, things like the
GPL complicate matters, if software
developers generally realize that releasing
their changes to open source software is
beneficial to them. Note the "if".
they might use bsd instead because it allows them to continue along with the idea that free means on restriction. And that helps us by turning software someone made for free into something propreitary? Where exactly are we being helped?
The key here is that open source development
must be clearly superior, at least in certain
niches. One obvious advantage is that (if
you give back) future upstream bug fixes are
much easier to merge into your proprietary
tree.
If that's not true, then yes, companies are
likely to take the ball and hide it.
only the guarantee that no company can take your technology and then extend it with their own extension will encourage you to ever release source code
No, what I'm talking about is basically when
the particular software's market becomes a
commodity. In 2003, nobody is really competing
at the OS kernel level anymore. The most
obvious example is Apple "giving away" Darwin,
but it's also clear that the Windows versus
Linux war is not really fought at the memory
manager or scheduler level.
In such a case, it doesn't matter if the
kernel is GPLed or BSD-licensed. Nobody
can really take it away anymore, but the GPL
then can actually hamper its development if
it confuses the public.
What percentage of the companies of the world make money selling software? [...] The whole GPL-is-a-virus bullshit effects less then 1% of the businesses in the world.
I know. You know. Why is a professional
journalist still confused? You can sit there
and conclude that he's stupid, or you can
entertain the thought that perhaps we're not
communicating as effectively as possible.
There are also people whose job it is to
smear free software, and the GPL happens to
be the easiest thing to confuse people with.
Otherwise, free software is just like stuff
on the shelf, only you don't have to pay.
Easy.
It's stupid because *all* software can be used without signing a license. Copyright, the lowest common denominator governing any copyrighted work only covers *distribution*.
Which is why vendors want you to agree to
their license (EULA) before allowing you to
install their software. EULAs may not be
actually legal, but that hasn't really been
established.
And if there's nothing to sign, maybe it's not a real contract.
The context we're discussing is when a company
is deciding whether to base a new product on
a GPLed software. In this case, putting down
the investment to develop on top of GPLed
software is a lot like "signing" a contract
in terms of future consequences, if any.
So, your solution is to change the principle of one license because people can't be bothered to understand their rights?
I'm not so much proposing a solution as
pointing out that people, in fact, can't
be bothered to understand many things.
I'm saying if you want open source to
succeed as a method, giving it away for
free is a good idea, but tacking on a
confusing license may not be. If you strongly
believe in the GPL, then obviously that's
the thing for you. Otherwise, as I wrote,
perhaps the inherent benefits of open
source development is good enough?
Put another way, why "save" the companies
that can't learn the benefits of giving
back what they take by forcing them to with
the GPL? If open source is superior, then
surely their competitors who open source
will eventually crush the less enlightened
ones.
Free means without price as well as free as in freedom. The fact that the former is common is only a side effect, not a gurantee of the latter. That's one reason people try to use free and Free to distungiush the two.
How can I convince you that while I fully
understand the difference, I also understand
that most people can't be bothered to care?
Most importantly, how does being correct but
misunderstood anyway help us?
"Before using open-source software, tech companies must sign a license in which they promise to give away innovations they build on top of it."
How is it stupid?
One, free software are free to use.
It's just when you make derivative products
from it where you come into contact with the
GPL.
Two, not all free software are GPLed.
Some significant examples, in fact, form the
core of successful commercial products.
Three, there's nothing to actually sign.
However, the effect is similar, so we can
probably overlook that.
Four, "giving away your innovations" is a
little oversimplified. It's theoretically
possible that a competitor just downloads
your sources, improves it a bit, and ships,
but see how the best example of this -
early versions of Mandrake - is near death
but Red Hat is thriving.
The reason I'm bothering to list all of this
on Slashdot is that this is, in fact, a bit
nuanced, if not confusing. Is it possible
that our political fervor is undermining us?
Everything wrong with this statement comes
from misunderstanding the GPL.
Look at Apple. They used BSD code, and are
contributing their changes back even though
they don't legally have to. They do that
for good PR and for the potential of getting
"free" bug fixes. In this case, free software
is beneficial to all parties involved. I
guess RMS never thought that would actually
happen (without being legally required to
by license). Perhaps relying on the fact
that open source is good development practice
is enough?
Visionaries as some of these prominent folks
are, they've unfortunately "hijacked" the
word "free" and made it so confusing that
mainstream journalists cannot understand it
anymore. They may be "stupid", but are we
getting too smart for our own good?
Well I would disagree with your assertion of the "staticness" of other forms of software. Word beating to the market by 15 years means your hosed, as companies have a huge investment in files and "training" (not necessarily formal).
Linux now threatens just about every form of
commercial Unix. To oversimplify, they all
implement POSIX, which is a fairly static "API",
and being late matters less.
Word processing is not as static, and as we
all are painfully aware the "API" in question -
the Word format - is dynamic. However,
OpenOffice.org is already making progress,
and there's no apparent way for MS to stop
it cold. This is because not even MS can
really keep adding features to Word.
I would also disagree with your assertion about "state of the art" gaming. While this may be true for your typical first person shooter, the "bar" in other genres is simply not that
high.
Obviously I'm not going to argue about
exactly how high an imaginary bar is. However,
it's instructive to point to some benchmark
games in various genres: Quake 3, Myst,
Warcraft 3, the EA sports games. You're
basically suggesting they give up on FPS, so
we'll ignore Quake. Myst contains extremely
rich graphical environments, which requires
skillful artists and powerful rendering
hardware. Warcraft requires good art and
at least decent 3-D performance. The sports
games require good motion capture, and of
course good atheletes whose motions we
capture.
So exactly which sort of games are you
talking about? It'll be helpful if you
name commercial examples.
10 years ago if you told someone that you were going to write yet another unix like os and make it free, they'd have thought you bonkers and simply wasting your time
As I pointed out, even if Linus Torvalds
didn't realize it then, the timing of Linux
is far less critical. It hit the market at
around the time of the 386, but even if it
arrived only today, it's still a matter of
time before commercial Unix fades away.
This is because Linux is equivalent and
free. (Yes, hindsight is 20/20.) For Linux
to miss, POSIX has to stop being relevant.
XFree86 and gcc, for example, also have
similarly large "market windows" like Linux.
The game in question has a harder time being
equivalent (quality at shipping), and won't
be free.
it was meant to address the issue of working on a "skunkworks" software project "on your own time" while not getting paid. Most of us have done it (and still do), and I was just saying that in that regard it was no different.
The difference here is that if you're at
least partially attracted by the money
promised, you'll want to work on something
commercially viable, not just fun to do.
Add the fact that commercial viability is a
lot harder in games, and it's going to affect
your choices.
You just witnessed a comercial software vendor LIE to their customers and those customers getting burnt,and still you trust that vendor?
No, that's not what I was saying at all. What
I said was that it's possible that one day
consumers must choose between guaranteed (to
be patent-free) commercial software or
insured free software. This means that
unguaranteed commercial software, such as
in this case, could die. Not trusting the
vendor is precisely the point.
This also assumes that case law will not
hold authors and distributors of infringing
free software responsible. The users then
insure themselves against lawsuits.
Reputable distributors won't carry programs that infinge in any way. It seems obvious that you are less likely to get burnt that way.
Reputable distributors (by which I expect
you mean somebody like Red Hat) won't carry
programs known to be infringing.
However, they are unlikely to perform patent
searches on behalf of the thousands of
programs in a distro. There is no safety
there. If anything, the opened sources
makes it even easier to prove patent
infringement.
Ideally, software patents go away entirely or
become sane. Failing that, and if these
spectacular lawsuits continue, then I think
customers may start asking for protection
(in the form of guarantees from paid
software, and insurance from free software).
Unless you're working at RH, IBM, or any of the other Linux distro companies, how is this any different than those who generally work on OSS.
Because games are a very different market.
For an OS such as Linux to be useful, it has
to keep up with new devices. This is
relatively easily accomplished by having
many people write device drivers, even if
they have to reverse engineer. Also, once
your Linux box works, there are frequently no
good reasons to upgrade the kernel too often.
A web browser has similar requirements to
keep up with new formats and plug-ins, and
similar solutions to the problem.
For a word processor, spreadsheet, email
program, or editor, the threshold of
usefulness is nearly fixed. Users have an
expectation of certain features, but when
you're done you're basically done. Even
if Microsoft Word beats you to the market
by fifteen years, it doesn't really matter.
For a commercially competitive game, however,
the bar is set much higher. The graphics
(I'm including game screens, animations, and
cinematics here) must be state-of-the-art,
where the state of the art is advancing
rapidly and continuously. The deadline is
thus extremely tight, because if you don't
make your original projected deadline, your
game can look old and boring. Games also
fall out of favor quickly, so they don't
stay on shelves as long.
Be serious. Everybody hears horror stories
of how hectic things are in the gaming
industry, and I think nobody doubts the
talents of the people in the industry. So
how are a handful of inexperienced (in terms
of game development) programmers
working part-time going to compete against
talent, experience, and well-funded full-time
work? Yes, it's still possible (Tetris, etc),
but it's still a different ball game than other
OSS projects, and any victory will be that
much more miraculous.
While it's disgusting that there would be patents on something so obvious as a file format that uses well know compresion routines, free developers obey the law even when it's stupid.
If I believe you and use only free software,
will you pay my legal fees and damages if any
of them infringe on a patent? After all, you
appear to be guaranteeing that all free
software authors obey patent laws.
Linus Torvalds, for example, implied that Linux
may
be infringing. It's sensible and practical
not to care, as he suggests, but that only
lowers the damage (willful versus negligent
infringement), not remove it.
The question is, if Linux in fact infringes
on a patent (and its main author doesn't know
it doesn't), who pays? It's a very good
question, if this sort of lawsuits become
more popular. It's possible that one day you'll
be choosing between commercial software that
explicitly protect against patent lawsuits,
and free software with a third-party patent
insurance.
Excuse or not, the fact is that quality comes from having both the time and the freedom to do it right.
Exactly, which is why I was pointing out even
when paid, many or most programmers also want
to do a good job. It's not the programmer,
but the development process, which is in turn
influenced by market pressures.
its clear that apple introduced the 12" powerbook because they're gonna kill off the iBook line
I don't think that's clear at all. The
market for iBooks ($999-$1,749) does not
overlap the market for PowerBooks
($1,799-$3,299).
They're obviously going to kill the existing
G3 iBooks at some point, but they may be
replaced by a line of G4 "iBooks", or $999
laptops by another name.
I know when I do something for myself, I don't half-ass it.
Why do you half-ass it when somebody is paying
you?
Point is, if it's a matter of company policies
forcing you to do a poor job, then the difference
between commercial software and free software is
that policy (which probably comes from market
pressure), not you. (If you are the factor,
then you're just being unprofessional at work,
which I doubt is the case.)
Product Activation is designed to help reduce unlicensed use of TurboTax software. It ties a single copy (a license is tied to a pc, not a copy of the software) of TurboTax to a single PC.
It is instructive to study the intentions of
the vendor in this case. They specifically
point out that this is not spyware, so it's
really just copyright infringement that
they're worrying about.
Now, for those not in the US, TurboTax is one
piece of software you buy every year, thanks
to everchanging tax codes.
Why would a company with an essentially
guaranteed revenue stream (as long as it
ships a good product) need to worry about
infringement?
The only answer is that they think they're
losing too much revenue to infringement.
While the sector writing nonsense is properly
discouraged, perhaps we could also examine
what (at the very least, a mistaken impression)
drove them to it. Licensing this
"technology" must at least cost them money.
Once upon a time, there was almost no such
thing as a computer game without copy
prevention. Today, the gaming industry is
bigger than ever, largely without copy
prevention. Perhaps we can educate Intuit.
There's nothing inherently evil about a flat tax, but I think that it is a stupid idea. The rich get the most benefits from the current system and they have more money to spare
That's not "stupid", just incompatible with your
personal sense of social justice.
Let's put more nuance into it, just for fun.
Let's say there's an 18-year old taxpayer who makes $1M a year, because his dad is
rich. Let's say there's a 30-year old
hard-working entrepreneur with sixteen
adopted kids, who makes the same $1M working
60 hours a week. Even under your graduated
tax plan, they'd still pay the same taxes.
Some people might feel that a young playboy
should pay more.
On the flip side, does either $1M taxpayer
really use more fire or police resources than
you do? Why shouldn't firefighter or
police salaries be evenly divided among the
people who live in their district? In fact,
you'll probably find that poor neighborhoods
consume more police attention. The
millionaires may also buy their own books,
and never visit a public library. Is it
fair that they should pay more to get less?
That's where the problem is: trying to use
taxes as a social equalizer. This results
in endless complications and exemptions that
benefit some and irritate everybody.
Personally, I don't have a problem with the
rich paying more, but trying to create social
justice with a tax plan is plainly doomed to
failure. Collect the taxes, and then spend
the money on social programs.
The Linux APIs [...] are mature and scalable to small devices, and Linux itself is as well.
Uh, no. The ELKS project, for one, is a near
reimplementation of Linux for 16-bit x86 CPUs.
Linux itself does not readily support anything
less than 32-bit processors. Neither does
gcc, which is why ELKS uses a different
compiler.
What has happened is that "small devices" have
gotten bigger, not that Linux has gotten
smaller.
can you consolidate all the files into one file (easy if all files are the same size) and just rewrite portions of that file? That way, the FAT wouldn't need to be updated.
You'll still be rewriting in place. This is
bad, because essentially every write is preceded
by a slow erase, which will result in horrible
write performance. Also, you'll still be
wearing out the same spots, just not the FAT.
If you perform wear leveling inside that giant
file, then you're really just putting the flash
translation layer on top of FAT rather than
below it.
Lastly, is there some sort of caching algorithm you can enable that would delay the write to the FAT+directory until (at best) the time the card needs to be removed?
Good caching is essential both for performance
and wear. Unfortunately, many of these devices
don't have physical locks that prevent their
sudden removal.
Windows only supports FAT on these cards, so that's what I'm stuck with if I want these to work on Windows without a lot of extra expense in time.
FAT is utterly ill-suited for use on a flash.
In addition to the problem noted by the article,
the FAT itself and the root directory are both
at fixed locations, and will wear out more
quickly than the rest of the disk. Not
surprisingly (for a file system designed to
run on floppy disks), FAT or root directory
media failures are basically not recoverable.
The common solution to this problem is to add
a flash file system layer (sometimes known as
a flash translation layer) underneath FAT.
This yields the simplicity of FAT and the
wear leveling of a real FFS, but you're likely
going to have to pay for it in money if you
don't have the time.
Remember to fire the architect who chose FAT
on SD/MMC without having a clue how they
work. This is not the kind of problem
that should be found when you're already
testing your code. As you noticed, you're
basically forced to lose 10% capacity, or
insert a new expensive layer into your
product.
Finally, in case you haven't noticed, you
should also try to minimize the times you do
write. Use a suitably-sized data buffer,
don't flush it too often, and keep files
open if you're going to update it many
times.
Words ARE completely neutral, [...] It's the
context and intent that gives offense.
It simply is not and should not be my concern whether someone has some sort of mental problems that will misinterpret my intentions.
You make some good points. I completely agree
that language by itself is neutral. It is
simply a medium for a message.
However, it is incorrect for a sender to
disclaim all responsibility in communication.
For example, you can't speak "normal" English
to somebody who doesn't understand it well.
You speak more slowly, using simpler words,
and perhaps pronounce each word more clearly.
Note that I'm not saying it's the sender's
fault that English is not understood.
It's not a matter of fault. However, if your
intention is to communicate, then you must
speak the common language and choose the
right words, or you will fail.
And where do I stop?
Indeed, some people can be very sensitive.
However, as long as you sincerely wish to
communicate and have some common sense, I'm
sure you will be successful without having
to say "vertically challenged".
that's the difference between Computer Science graduates and Information Systems graduates, one sees things in the more technical side, the other sees it in the usability [...] side.
I'll ignore your overgeneralization about
degrees. It isn't true. For every cool
command-line tool there are probably six
GUI front-ends to make it easier to use.
Are you saying that the CS people are making
the CLI stuff exclusively, and the IS people
are making the GUI stuff exclusively?
In a commercial software endeavor, poor
usability is ultimately represented by poor
sales. This causes management to hire experts
to ensure that engineering doesn't just produce
whatever it wants. On the other hand, a
healthy organization also doesn't allow
usability to trump everything, especially
development schedules.
In a free software environment, feedback is
less apparent. First of all, it's cheap to
download stuff, so the threshold for decision
is not "is this worth $699?" but "is this
worth the download time?" If it sucks, most
people just delete it and move on with their
lives.
As an example, a simple game I wrote
had over 1,000 downloads, and about 10
responses good and bad. What are the other
99 out of 100 people doing with my program?
What features do they want? I don't know.
The ironic downside of being free is that
people aren't angry enough to complain if
it sucks.
There is more than one company making good
money for many years now selling and supporting
[gcc].
You're beginning to run off a tangent for the
sake of argument, so let me remind you how we
got here. I asserted that reading Watcom code
could be interesting to a student, because it
was a real live commercial product at its time.
Whatever merits or commercial potential gcc
has is not relevant, because free software
doesn't compete on the same terms.
Now, obviously, such a student should also go
ahead and study gcc.
Much better if Doom is made standards-compliant.
Ahh, so now you know what a computer
archaeologist would want, twenty years from
now? Are you really so sure that she would
not rather run the original build on a
cycle-accurate 80386 emulator?
Why is so much reporting and reviewing done if you think everyone is supposed to see and touch before reflecting?
I certainly don't insist that you have firsthand
knowledge of everything you speak of. Can you
cite a reputable review or report of gcc's
or Watcom C's code quality that you've read
before posting? In fact, your evidence of
gcc's quality consists of:
See how many years it has been in existence, with so many front-ends, on so many platforms, targetting so many others, maintained and improved by so many people.
which is entirely circumstancial. As Linus
Torvalds himself will admit, a microkernel
design would be "nicer" in theory. However,
Linux is hugely successful despite or because
it is monolithic. Success in the "marketplace"
is a result of many, many factors, sometimes
despite poor design.
You seem to from the whatever is, is good school. I am for the common good.
I won't even try to understand what that
means. All I will say is that the release
of Watcom source code is a good thing, if
it only preserves a snapshot of software
engineering in the early 1990s. Pooh-poohing
efforts like this, when it's already so easy
for a failing company to bury its code
forever, helps us lose irreplaceable portions
of our history. Even examples of terrible
code is worth saving, because it's history.
What could [a student] learn there that he
could not, probably better, in gcc or a Lisp
compiler?
How to build a commercially viable compiler.
If you're old enough to remember, there once
was a time when compilers bragged about how
many lines of code they could compile per
second, as a significant selling point. This
means that compilers of those days (Watcom
represented the latter portion of those days)
had to worry about compile time as well as
run time optimizations, which is a concern
that gcc doesn't really have. (In fact, gcc
was dog slow compared to Watcom. I've tried
it.)
Have you actually read Watcom code? Since
you say "probably", I'll presume you haven't
even read it. How the heck do you know that
gcc is probably better written?
A very uninteresting piece [of computing
history] as I see it.
It's almost universally true that people of
every time fail to appreciate the historical
importance of artifacts of their time. Please
learn from history, preserve first, and let
our descendants ask the questions. Are you
at least an expert in compilers?
Btw, do you realize that the original Doom
game was built using the Watcom compiler?
Does the prospect of compiling Doom from
source, perhaps 20 years from now, begin to
sound interesting?
Two warning signs of arrogance in your post:
dismissing something you haven't seen, and
presuming that you know how history will
judge. I mean this in the best way possible,
so try not to be insulted.
So you're saying that I shouldn't say something you admit "isn't too far off base" so that you can do free software marketing more easily?
And you people bitch and moan when professional marketing people lie. Sheesh.
Hint: calling the bluff when somebody claims that there are thousands of Qt/GTK apps doesn't mean that I'm asserting there are such apps on Windows, on Mac OS, on any other platform, or on all of these platforms combined.
Let me be clearer. A quick and inaccurate estimate of the "Editors" section in Debian yields about 200 packages. Some larger apps like Emacs or Abiword are composed of several packages, so I would guess that there are about 150 editors in there. Most of these are not unique. Some are possibly not even stable and useful. How many can you even name off the top of your head?
There are probably over 500 packages under "Games". How many of those are boring reimplementations of Tetris or Minesweeper? How many of them match commercial software in polish?
The point is not to put down free software. The point is that claiming there are thousands when the actual useful number (once you apply "useful, unique, and stable" qualifiers) is quite a bit lower is just dishonest. When you advocate in dishonesty, you do a disservice in the long term.
It's important not to exaggerate when you're advocating something. In this case, exactly how many thousand of these Qt/GTK apps are useful, unique, and stable?
Not too many, as long as they include the New York Times, Wall Street Journal, and the like. Bruce Perens and Linus Torvalds talks to hundreds to people at a time, tops. These outlets talk to millions.
You can explain till your blue in the face but if the audience is hell bent on ignoring you then you'll never succeed.
The audience is not hell bent on ignoring you. It's just that it's convenient to ignore you.
While advertisements from IBM and Oracle are a start, they're still traditional vendors of proprietary software. That is, you buy Linux from IBM because you know IBM, and you know they'll only sell you properly licensed software. (That's the theory.)
What I'm talking about is promoting a grassroots understanding of the community and what it can offer. In this effort, things like the GPL complicate matters, if software developers generally realize that releasing their changes to open source software is beneficial to them. Note the "if".
The key here is that open source development must be clearly superior, at least in certain niches. One obvious advantage is that (if you give back) future upstream bug fixes are much easier to merge into your proprietary tree.
If that's not true, then yes, companies are likely to take the ball and hide it.
only the guarantee that no company can take your technology and then extend it with their own extension will encourage you to ever release source code
No, what I'm talking about is basically when the particular software's market becomes a commodity. In 2003, nobody is really competing at the OS kernel level anymore. The most obvious example is Apple "giving away" Darwin, but it's also clear that the Windows versus Linux war is not really fought at the memory manager or scheduler level.
In such a case, it doesn't matter if the kernel is GPLed or BSD-licensed. Nobody can really take it away anymore, but the GPL then can actually hamper its development if it confuses the public.
I know. You know. Why is a professional journalist still confused? You can sit there and conclude that he's stupid, or you can entertain the thought that perhaps we're not communicating as effectively as possible.
There are also people whose job it is to smear free software, and the GPL happens to be the easiest thing to confuse people with. Otherwise, free software is just like stuff on the shelf, only you don't have to pay. Easy.
Which is why vendors want you to agree to their license (EULA) before allowing you to install their software. EULAs may not be actually legal, but that hasn't really been established.
And if there's nothing to sign, maybe it's not a real contract.
The context we're discussing is when a company is deciding whether to base a new product on a GPLed software. In this case, putting down the investment to develop on top of GPLed software is a lot like "signing" a contract in terms of future consequences, if any.
So, your solution is to change the principle of one license because people can't be bothered to understand their rights?
I'm not so much proposing a solution as pointing out that people, in fact, can't be bothered to understand many things. I'm saying if you want open source to succeed as a method, giving it away for free is a good idea, but tacking on a confusing license may not be. If you strongly believe in the GPL, then obviously that's the thing for you. Otherwise, as I wrote, perhaps the inherent benefits of open source development is good enough?
Put another way, why "save" the companies that can't learn the benefits of giving back what they take by forcing them to with the GPL? If open source is superior, then surely their competitors who open source will eventually crush the less enlightened ones.
Free means without price as well as free as in freedom. The fact that the former is common is only a side effect, not a gurantee of the latter. That's one reason people try to use free and Free to distungiush the two.
How can I convince you that while I fully understand the difference, I also understand that most people can't be bothered to care? Most importantly, how does being correct but misunderstood anyway help us?
"Before using open-source software, tech companies must sign a license in which they promise to give away innovations they build on top of it."
How is it stupid?
One, free software are free to use. It's just when you make derivative products from it where you come into contact with the GPL.
Two, not all free software are GPLed. Some significant examples, in fact, form the core of successful commercial products.
Three, there's nothing to actually sign. However, the effect is similar, so we can probably overlook that.
Four, "giving away your innovations" is a little oversimplified. It's theoretically possible that a competitor just downloads your sources, improves it a bit, and ships, but see how the best example of this - early versions of Mandrake - is near death but Red Hat is thriving.
The reason I'm bothering to list all of this on Slashdot is that this is, in fact, a bit nuanced, if not confusing. Is it possible that our political fervor is undermining us? Everything wrong with this statement comes from misunderstanding the GPL.
Look at Apple. They used BSD code, and are contributing their changes back even though they don't legally have to. They do that for good PR and for the potential of getting "free" bug fixes. In this case, free software is beneficial to all parties involved. I guess RMS never thought that would actually happen (without being legally required to by license). Perhaps relying on the fact that open source is good development practice is enough?
Visionaries as some of these prominent folks are, they've unfortunately "hijacked" the word "free" and made it so confusing that mainstream journalists cannot understand it anymore. They may be "stupid", but are we getting too smart for our own good?
Linux now threatens just about every form of commercial Unix. To oversimplify, they all implement POSIX, which is a fairly static "API", and being late matters less.
Word processing is not as static, and as we all are painfully aware the "API" in question - the Word format - is dynamic. However, OpenOffice.org is already making progress, and there's no apparent way for MS to stop it cold. This is because not even MS can really keep adding features to Word.
I would also disagree with your assertion about "state of the art" gaming. While this may be true for your typical first person shooter, the "bar" in other genres is simply not that high.
Obviously I'm not going to argue about exactly how high an imaginary bar is. However, it's instructive to point to some benchmark games in various genres: Quake 3, Myst, Warcraft 3, the EA sports games. You're basically suggesting they give up on FPS, so we'll ignore Quake. Myst contains extremely rich graphical environments, which requires skillful artists and powerful rendering hardware. Warcraft requires good art and at least decent 3-D performance. The sports games require good motion capture, and of course good atheletes whose motions we capture.
So exactly which sort of games are you talking about? It'll be helpful if you name commercial examples.
10 years ago if you told someone that you were going to write yet another unix like os and make it free, they'd have thought you bonkers and simply wasting your time
As I pointed out, even if Linus Torvalds didn't realize it then, the timing of Linux is far less critical. It hit the market at around the time of the 386, but even if it arrived only today, it's still a matter of time before commercial Unix fades away. This is because Linux is equivalent and free. (Yes, hindsight is 20/20.) For Linux to miss, POSIX has to stop being relevant. XFree86 and gcc, for example, also have similarly large "market windows" like Linux.
The game in question has a harder time being equivalent (quality at shipping), and won't be free.
it was meant to address the issue of working on a "skunkworks" software project "on your own time" while not getting paid. Most of us have done it (and still do), and I was just saying that in that regard it was no different.
The difference here is that if you're at least partially attracted by the money promised, you'll want to work on something commercially viable, not just fun to do. Add the fact that commercial viability is a lot harder in games, and it's going to affect your choices.
No, that's not what I was saying at all. What I said was that it's possible that one day consumers must choose between guaranteed (to be patent-free) commercial software or insured free software. This means that unguaranteed commercial software, such as in this case, could die. Not trusting the vendor is precisely the point.
This also assumes that case law will not hold authors and distributors of infringing free software responsible. The users then insure themselves against lawsuits.
Reputable distributors won't carry programs that infinge in any way. It seems obvious that you are less likely to get burnt that way.
Reputable distributors (by which I expect you mean somebody like Red Hat) won't carry programs known to be infringing. However, they are unlikely to perform patent searches on behalf of the thousands of programs in a distro. There is no safety there. If anything, the opened sources makes it even easier to prove patent infringement.
Ideally, software patents go away entirely or become sane. Failing that, and if these spectacular lawsuits continue, then I think customers may start asking for protection (in the form of guarantees from paid software, and insurance from free software).
Because games are a very different market.
For an OS such as Linux to be useful, it has to keep up with new devices. This is relatively easily accomplished by having many people write device drivers, even if they have to reverse engineer. Also, once your Linux box works, there are frequently no good reasons to upgrade the kernel too often.
A web browser has similar requirements to keep up with new formats and plug-ins, and similar solutions to the problem.
For a word processor, spreadsheet, email program, or editor, the threshold of usefulness is nearly fixed. Users have an expectation of certain features, but when you're done you're basically done. Even if Microsoft Word beats you to the market by fifteen years, it doesn't really matter.
For a commercially competitive game, however, the bar is set much higher. The graphics (I'm including game screens, animations, and cinematics here) must be state-of-the-art, where the state of the art is advancing rapidly and continuously. The deadline is thus extremely tight, because if you don't make your original projected deadline, your game can look old and boring. Games also fall out of favor quickly, so they don't stay on shelves as long.
Be serious. Everybody hears horror stories of how hectic things are in the gaming industry, and I think nobody doubts the talents of the people in the industry. So how are a handful of inexperienced (in terms of game development) programmers working part-time going to compete against talent, experience, and well-funded full-time work? Yes, it's still possible (Tetris, etc), but it's still a different ball game than other OSS projects, and any victory will be that much more miraculous.
If I believe you and use only free software, will you pay my legal fees and damages if any of them infringe on a patent? After all, you appear to be guaranteeing that all free software authors obey patent laws.
Linus Torvalds, for example, implied that Linux may be infringing. It's sensible and practical not to care, as he suggests, but that only lowers the damage (willful versus negligent infringement), not remove it.
The question is, if Linux in fact infringes on a patent (and its main author doesn't know it doesn't), who pays? It's a very good question, if this sort of lawsuits become more popular. It's possible that one day you'll be choosing between commercial software that explicitly protect against patent lawsuits, and free software with a third-party patent insurance.
Exactly, which is why I was pointing out even when paid, many or most programmers also want to do a good job. It's not the programmer, but the development process, which is in turn influenced by market pressures.
I don't think that's clear at all. The market for iBooks ($999-$1,749) does not overlap the market for PowerBooks ($1,799-$3,299).
They're obviously going to kill the existing G3 iBooks at some point, but they may be replaced by a line of G4 "iBooks", or $999 laptops by another name.
Why do you half-ass it when somebody is paying you?
Point is, if it's a matter of company policies forcing you to do a poor job, then the difference between commercial software and free software is that policy (which probably comes from market pressure), not you. (If you are the factor, then you're just being unprofessional at work, which I doubt is the case.)
It is instructive to study the intentions of the vendor in this case. They specifically point out that this is not spyware, so it's really just copyright infringement that they're worrying about.
Now, for those not in the US, TurboTax is one piece of software you buy every year, thanks to everchanging tax codes. Why would a company with an essentially guaranteed revenue stream (as long as it ships a good product) need to worry about infringement?
The only answer is that they think they're losing too much revenue to infringement. While the sector writing nonsense is properly discouraged, perhaps we could also examine what (at the very least, a mistaken impression) drove them to it. Licensing this "technology" must at least cost them money.
Once upon a time, there was almost no such thing as a computer game without copy prevention. Today, the gaming industry is bigger than ever, largely without copy prevention. Perhaps we can educate Intuit.
That's not "stupid", just incompatible with your personal sense of social justice.
Let's put more nuance into it, just for fun. Let's say there's an 18-year old taxpayer who makes $1M a year, because his dad is rich. Let's say there's a 30-year old hard-working entrepreneur with sixteen adopted kids, who makes the same $1M working 60 hours a week. Even under your graduated tax plan, they'd still pay the same taxes. Some people might feel that a young playboy should pay more.
On the flip side, does either $1M taxpayer really use more fire or police resources than you do? Why shouldn't firefighter or police salaries be evenly divided among the people who live in their district? In fact, you'll probably find that poor neighborhoods consume more police attention. The millionaires may also buy their own books, and never visit a public library. Is it fair that they should pay more to get less?
That's where the problem is: trying to use taxes as a social equalizer. This results in endless complications and exemptions that benefit some and irritate everybody.
Personally, I don't have a problem with the rich paying more, but trying to create social justice with a tax plan is plainly doomed to failure. Collect the taxes, and then spend the money on social programs.
Uh, no. The ELKS project, for one, is a near reimplementation of Linux for 16-bit x86 CPUs. Linux itself does not readily support anything less than 32-bit processors. Neither does gcc, which is why ELKS uses a different compiler.
What has happened is that "small devices" have gotten bigger, not that Linux has gotten smaller.
Try mounting it as /tmp and /var. (Any damage
is your own responsibility, please.)
You'll still be rewriting in place. This is bad, because essentially every write is preceded by a slow erase, which will result in horrible write performance. Also, you'll still be wearing out the same spots, just not the FAT. If you perform wear leveling inside that giant file, then you're really just putting the flash translation layer on top of FAT rather than below it.
Lastly, is there some sort of caching algorithm you can enable that would delay the write to the FAT+directory until (at best) the time the card needs to be removed?
Good caching is essential both for performance and wear. Unfortunately, many of these devices don't have physical locks that prevent their sudden removal.
FAT is utterly ill-suited for use on a flash. In addition to the problem noted by the article, the FAT itself and the root directory are both at fixed locations, and will wear out more quickly than the rest of the disk. Not surprisingly (for a file system designed to run on floppy disks), FAT or root directory media failures are basically not recoverable.
The common solution to this problem is to add a flash file system layer (sometimes known as a flash translation layer) underneath FAT. This yields the simplicity of FAT and the wear leveling of a real FFS, but you're likely going to have to pay for it in money if you don't have the time.
Remember to fire the architect who chose FAT on SD/MMC without having a clue how they work. This is not the kind of problem that should be found when you're already testing your code. As you noticed, you're basically forced to lose 10% capacity, or insert a new expensive layer into your product.
Finally, in case you haven't noticed, you should also try to minimize the times you do write. Use a suitably-sized data buffer, don't flush it too often, and keep files open if you're going to update it many times.
It simply is not and should not be my concern whether someone has some sort of mental problems that will misinterpret my intentions.
You make some good points. I completely agree that language by itself is neutral. It is simply a medium for a message.
However, it is incorrect for a sender to disclaim all responsibility in communication. For example, you can't speak "normal" English to somebody who doesn't understand it well. You speak more slowly, using simpler words, and perhaps pronounce each word more clearly.
Note that I'm not saying it's the sender's fault that English is not understood. It's not a matter of fault. However, if your intention is to communicate, then you must speak the common language and choose the right words, or you will fail.
And where do I stop?
Indeed, some people can be very sensitive. However, as long as you sincerely wish to communicate and have some common sense, I'm sure you will be successful without having to say "vertically challenged".
I'll ignore your overgeneralization about degrees. It isn't true. For every cool command-line tool there are probably six GUI front-ends to make it easier to use. Are you saying that the CS people are making the CLI stuff exclusively, and the IS people are making the GUI stuff exclusively?
In a commercial software endeavor, poor usability is ultimately represented by poor sales. This causes management to hire experts to ensure that engineering doesn't just produce whatever it wants. On the other hand, a healthy organization also doesn't allow usability to trump everything, especially development schedules.
In a free software environment, feedback is less apparent. First of all, it's cheap to download stuff, so the threshold for decision is not "is this worth $699?" but "is this worth the download time?" If it sucks, most people just delete it and move on with their lives.
As an example, a simple game I wrote had over 1,000 downloads, and about 10 responses good and bad. What are the other 99 out of 100 people doing with my program? What features do they want? I don't know. The ironic downside of being free is that people aren't angry enough to complain if it sucks.
You're beginning to run off a tangent for the sake of argument, so let me remind you how we got here. I asserted that reading Watcom code could be interesting to a student, because it was a real live commercial product at its time. Whatever merits or commercial potential gcc has is not relevant, because free software doesn't compete on the same terms.
Now, obviously, such a student should also go ahead and study gcc.
Much better if Doom is made standards-compliant.
Ahh, so now you know what a computer archaeologist would want, twenty years from now? Are you really so sure that she would not rather run the original build on a cycle-accurate 80386 emulator?
Why is so much reporting and reviewing done if you think everyone is supposed to see and touch before reflecting?
I certainly don't insist that you have firsthand knowledge of everything you speak of. Can you cite a reputable review or report of gcc's or Watcom C's code quality that you've read before posting? In fact, your evidence of gcc's quality consists of:
See how many years it has been in existence, with so many front-ends, on so many platforms, targetting so many others, maintained and improved by so many people.
which is entirely circumstancial. As Linus Torvalds himself will admit, a microkernel design would be "nicer" in theory. However, Linux is hugely successful despite or because it is monolithic. Success in the "marketplace" is a result of many, many factors, sometimes despite poor design.
You seem to from the whatever is, is good school. I am for the common good.
I won't even try to understand what that means. All I will say is that the release of Watcom source code is a good thing, if it only preserves a snapshot of software engineering in the early 1990s. Pooh-poohing efforts like this, when it's already so easy for a failing company to bury its code forever, helps us lose irreplaceable portions of our history. Even examples of terrible code is worth saving, because it's history.
How to build a commercially viable compiler. If you're old enough to remember, there once was a time when compilers bragged about how many lines of code they could compile per second, as a significant selling point. This means that compilers of those days (Watcom represented the latter portion of those days) had to worry about compile time as well as run time optimizations, which is a concern that gcc doesn't really have. (In fact, gcc was dog slow compared to Watcom. I've tried it.)
Have you actually read Watcom code? Since you say "probably", I'll presume you haven't even read it. How the heck do you know that gcc is probably better written?
A very uninteresting piece [of computing history] as I see it.
It's almost universally true that people of every time fail to appreciate the historical importance of artifacts of their time. Please learn from history, preserve first, and let our descendants ask the questions. Are you at least an expert in compilers?
Btw, do you realize that the original Doom game was built using the Watcom compiler? Does the prospect of compiling Doom from source, perhaps 20 years from now, begin to sound interesting?
Two warning signs of arrogance in your post: dismissing something you haven't seen, and presuming that you know how history will judge. I mean this in the best way possible, so try not to be insulted.