BTW, I am no longer *actively* affiliated with the American Red Cross and my comments do not reflect the views or opinions of my former or current employer...
I think people should take a step back and wait for the case to work its way out, but at face value it appears that the Red Cross is very much in the wrong, and JnJ is in the right (legally).
The products in question are the first aid kits and other items sold by the health and safety people of the ARC to help pay the expenses associated with the day-to-day operations of the chapter (I know this because I use to have a position on the ARC disaster services board for one of their chapters).
They didn't license this symbol out to competitors, these are products purchased by the ARC and resold by the ARC.
I think J&J is in the wrong here. Besides my obvious bias toward the ARC, the red cross symbol (like the red crescent for the foreign organization) are internationally known and associated with the relief organization. In addition, the cross symbol has been associated with first aid and safety for quite a while. When I think of Johnson and Johnson, I think of their logo as their company name in cursive on the package.
Despite the fact that the ARC is older than J&J, and for all practical purpose is the originator of the symbol, J&J has not actively pursued any so call trademark violations until 2007.
Why do you call ARC sleezy? Do you have an axe to grind with them? If you do, get over it.
Let's face it - J&J used the symbol to give people the impression that somehow they should be associated with the good Samaritan acts of the Red Cross. They also used the symbol, because it is the symbol associated with first aid. They didn't trademark for brand recognition, they trademarked it to prevent their competitors from doing the same.
The effort to run Linux programs on OS X is minuscule, while the effort to run OS X on Linux would be a major undertaking with few (if any) real returns on the investment.
I use OS X at home and Linux at work, and have no problems bringing my work home..
The only reason that I could see for a project like this would be to run OS X programs on non-apple hardware. I wouldn't care much for this, since (1) there isn't really that many "must have" applications that is OS-X only (and not part of the OS itself) and (2) why create tension with Apple if there really nothing much to gain.
Would you buy a car that had it's hood locked shut so that only authorized dealerships could open it?
No, since most motorists won't touch a line of source code. The benefit come from being able to recompile the engine to work optimally with their own driveway.
I kid.
A graphics driver is a part of a PC system and not *the* system, therefore your car analogy doesn't really apply. Take the emission control system as an example, it is part of the automobile and it affects performance. However, other than being able to set some parameters in ROM (for some vehicles) they are black boxes that must be replaced outright when they begin to fail. There are lots of other parts that are not modifiable at all. Sure you can replace the parts with custom made parts, but the analogy was that someone wouldn't by an automobile that had closed source parts, when in fact millions do.
The car analogy supports the closed driver argument better. The car is open source since it allows the driver to work under the hood, yet it contains closed source parts that leaves the driver with no choice but to make a trip to the auto parts store and purchase a replacement.
Personally I would love to have open-source drivers, but I am a realist and live with closed source binaries. As long as the vendor supports the product, I can live with closed source driver. However, when they don't....
I was thinking that the majority of citizens in the US are in the $30K -and up range, which I'd consider "middle class". Most people making this amount of money, would have either employer provided or private retirement funds that are based in the stock market.
Keep in mind the $42,148 was for household, so if both adults work (in a married household) then they would be less likely to be working for an employer that provides retirement.
I have no numbers to back it up, mind you, but, I'd have thought that the middle class and upper classes make up the majority of the US populace...and most people in those categories at least have some type of 401K or retirement plan that has its investment basis in stocks.
The US Census says that the median income for 2000 was $42,148.00. So being median, that means that half of the US households make below $42,148.00. This does not back up your assertions.
Thanks for your comment, and for nailing down the ultimate factor in deciding how much time is used for SA.
I know this is slashdot, so we often go off topic (which is why I enjoy it). The original intent of my comments was not that a full fledge Software Assurance protocol should be adopted, but that good software development practices should be followed and not to blame the programming language for any problems that result from not following them.
Good software development practice really shouldn't be confused with SA. Checking for simple errors and to test the critical sections of the source code does not require extensive documentation. It would be great if it was documented (eg. Cover Your Ass), but documentation is not a barrier to preventative measures being taken during coding. The quality of the code regardless of SA (or lack thereof) or scheduling pressure (we all have them) often reflects the quality of the programmer.
Let me throw this out there... Implementing Software Assurance does not guarantee that the quality of the programmer improves. Software Assurance tries to guarantee that the full potential of the programmer is realized. I know this is a high level concept, but I think managers believe that if they increase the level of assurance somehow they will be able to make up for the lack of talent. Often, SA is used for CYA when something goes wrong rather than a tool to measure quality.
There is a difference between being an obsessive compulsive while coding, and just planning ahead and testing what you did.
I noticed that people who don't like the idea of doing a little extra effort, always reach for the absolute other end of the spectrum as proof why they shouldn't even attempt software assurance.
I admit my projects require more SA than most, but I rather be late than ridiculed by the press because a high-profile project didn't work accordingly to plan. One characteristic common to most of my projects is that we incur a large amount of expense and only have one shot at getting it right. So from that perspective I tend toward the middle-to-high end of the software assurance spectrum.
Now if I was in a for-profit and was releasing software that could afford to be patched at a later time, I would still use software assurance but I would dial it down to the level that would allow me to make some quality measurements while remaining on schedule.
Notice I said I would still do some software assurance?
There is nothing hard with doing at least:
ModuleA(x) takes an integer value from 0 to 31 and returns a 16 bit value representing a voltage measured between 0 to 5 volts by the 12-bit ADC converter board. Possible error conditions include negative channel numbers or channel values greater than 31.
Test cases: A measurement of channel 5 should read 5 volts. A measurement of channel -1 should throw and exception. A measurement of channel 32 should throw an exception. A measurement of channel 12 should return 2.5 volts.
Do people really just blindly put software together around here or what?
Your post highlighted all the dangers of ad-hoc programming.
Personally, I've seen a lot of "experienced" C programmers but only met a few good C programmers. I don't blame the language, instead I blame the programmer who gives into temptation and think they could just quickly code an application on-the-fly without any planning. A decent analogy would be that while a large number of people are familiar with the english language, only a small percentage of them can write a decent novel.
I am a C/C++ programmer, and I believe that I am capable of making even the dumbest mistakes when coding (especially during an exceptionally long programming session). This is why I test! I make my unit tests with the intent of making sure my procedures error out correctly, as well as verifying that it works correctly. I put special effort in data objects that are prone to buffer allocation errors.
I also design the overall program ahead of time, define the interfaces between modules, and go over expected application behavior with the test engineer.
I go through this because (1) the only true way to make quality software is to put forth the effort to design, test, and maintain the code from the beginning, and (2) I never expect any language to handle errors correctly.
Number 2 is important, since even if a higher language does handle out-of-bounds conditions, does it handle it in a way that doesn't cause a problem somewhere else in the data chain?
For (off-the-top of my head) example, if I had a string buffer that automatically grew to 518 bytes to handle an erroneous data entry and it stored it in a database record that only held 512 bytes, does it truncate the data or does it posts a warning. Remember this error wasn't caught by the programmer, so are we to assume that the programmer would check for this error when it came time to place it in the database? Or what if the application simply threw an out-of-bounds exception? If it wasn't tested for this in production, then this means it could happen in the field. In my line of business, it must be caught in production.
The reason *I* use C and C++ is because I need the speed that comes from not having the language doing all my thinking for me. If *you* think C has issues then maybe *you* need to use another language more appropriate for your requirements and your skill set. BTW, my colleagues would have issues about your Fortran comment too!
I am not saying C/C++ is the best language for every situation. I am just saying that I use C/C++ because of performance and space requirements. I am also saying that no high level language is a good substitution for good programming practices.
The issues related to this story require even more effort in testing. We are not trying to catch simple runtime errors, we are trying to prevent someone who has the intent to break the security of a program. This falls outside of the realm of high level languages even with the issue that caused this particular "breach."
For (another off-the top of my head) example, even the best programs can fall victim to a compromised configuration file. So effort must be made to give an application the minimum amount of security privileges necessary to do its task *and* make sure that the configuration files are not modifiable without higher privileges.
I know what you meant, but since these drones are remotely controller rather than autonomous, I see it more of an additional cost than an asset right now.
Besides, why invest money in damage assessment aircraft when you have the local news media willing to do it for free? The local news station here on the Alabama Gulf Coast has a helicopter with a very nice pan-zoom camera system.
You are correct. RMS did start the GNU project, but...
Pardon me if my memory is incorrect (I'd hate to unintentionally spread a falsehood), but let me tell stories from the past (why not? It's slashdot):
Before Linux was around, I remember collegues that routinely substituted GNU utilities for the utilities that came with their OS. It was during this period, we (my collegues and I) thought that the GNU project was more interested in replacing the inferior command line utilities of the day with their own. These utilities provided the functionality of the unix commands, while not actually being part of unix (hence GNU). Why didn't he ask that we call our OS - GNU/SunOS or GNU/AIX? Because they were just substitutions to utilities already there, and the Internet wasn't able to be his platform for a public crusade. Or perhaps (just perhaps) he had no real intentions of producing an OS (just thought about it).
It wasn't until after Linux was accomplishing its goals, did I ever hear a mention of the GNU System. RMS may have intended to make his own operating system, but he did a piss poor job of accomplishing it. Instead, his group focused on the utilities and not the OS. If the goal was truly an OS, then why keep polishing the utilities? Why the difficulty in getting it started and finished? And while I am at it, what is the status of HURD? Don't try to bring up duplicated effort, after all we have GNOME (which I like BTW).
I don't intend this to be a personal attack of RMS, in fact I think his stubborness has been invaluable to the free software movement. It's just a shame, he couldn't be a little more stubborn about completing a kernel. I never met the guy personally, but still hope to. He has my respect, but that doesn't keep me from not agreeing with him on some issues.
The way I see it, Linus beat him to the punch. Linux is now a popular open source operating system, and this has stoled a lot of thunder from any OS coming from GNU. So how do you try to regain some of your former glory? Easy! Try to claim Linux as your own, since after all it uses the command line utilities.
Seriously, the only beef I have is that a party that was not intimately involved in the day-to-day development of a project, is trying to have its organization's named tacked onto the project name after the fact, and through public misinformation. My favorite is when he calls Linux a variant of the GNU Operating System (As if a GNU Operating System actually exists... in the wild... deployed... finished...).
In fact, GNU software is my favorite tools to use, and I promote GNU software like GCC, GDB, and EMACS to my coworkers. I never said "Hey you need to install Linux, it has some nice command utilities," I have said "You need to use GCC, MAKE, and EMACS. It works better than the commercial alternatives and works well with SSH. Oh and we need to use Linux;)"
I routinely say that the free utilities that come from GNU is powerful enough to build an OS with, in fact look at Linux.
So now that I have given you the point of view that I base my opinion on, let me try to answer your question:
All of that software without a kernel is useless. A kernel without this software or the equivalent is useless. ("Useless" here means "useless on a general purpose computing device.")
Why, then, would you not name the resulting operating system GNU/Linux?
Linus didn't have a goal of making command utilities. I am guessing his goal was to create a viable x386 based Unix like operating system. So he and a group of others, worked collaboratively and produced a working OS kernel. True a kernel isn't much without some user-land commands, but the use of said utilities does not in itself warrant refering to Linux as GNU/Linux. Again, I am asking where in the GNU license does it state that I must use "GNU/" in front of any project that makes use of GNU code (or programs).
So why would I not refer to Linux as GNU/Linux? (1) Becau
Stallman's request for systems that use both the Linux kernel and GNU software to be called GNU/Linux does not sound that unreasonable to me.
I do. It *may* sound silly, but I take issue with Stallman trying to rename a project or at least dictate what the project should be named. I do not recall any clause in the GPL that states that the letters GPL must be included in the name of the project. I don't care what percentage of GPL software is used. This is just a grassroots marketing scheme to ride the wave of Linux popularity to expose GPL to the masses.
I don't have a problem with educating the public about the GPL. I just don't like Stallman prefixing a popular OS to further his own cause. Now if Linus says "I have renamed Linux to GPL/Linux," this would be OK.
I really don't understand statements/attitudes like this one. WE are the users of GPL'd software, NOT APPLE !
Why isn't Apple a user? They used KHTML to make Safari. I think you need to recheck the definition of user. A developer can use libraries GPL or otherwise to make an end product that someone else can use.
So technically the chain is: KHTML (WebKit) is used by Apple to make safari, and safari is used by end users to browse the web.
GPLv2: if you make modifications AND REDISTRIBUTE ANY VERSION OF THE RESULTING CODE (namely, compiled versions), then you MUST allow those changes to be made public. The point is to allow THE USERS the right to the device, and it's software, that THEY, THE USERS, OWN.
GPLv3: DAMNED TIVO!!! Okay, let's try this again: some sort of magic, and NOW you can't disallow the end user from changing the (GPL'd) software you're using in a proprietary device (such devices which are not only accepted, but ENJOYED!) so the user NOW (we hope) has libre over OUR software/device! The point is to allow THE USERS the right to the device, and it's software, that THEY, THE USERS, OWN.
Which part(s) of these philosophies do you have a problem with...? Expiring minds wanna know...
Ahhh where to start? Ok. First of all GPL2 was never about the hardware. It was always assumed that there would always be a general purpose computing device that can run the software.
In addition, if there was a massive extinction of hardware engineers (hell even hobbyist) I would be concerned but currently I'm not.
Now let's talk about Tivo. If you own your own hardware, then I see nothing from preventing you to modify it as you like. However, this right to modify something that you own doesn't translate into Tivo (or anyone else) has to make it easy for you.
So you bought a product that does most of what you like and now you want to tinker with it? Fine. But wait, I can't do it because Tivo executes only signed code and I am going to figure out a way around it (Boo hoo).
I see absolutely nothing wrong with what Tivo does. In fact, it allows Tivo to sell the equipment at a loss in exchange for a subscription to their services. If people were able to easily modify these boxes to not require Tivo services or to block advertisements from that service (which subsidizes the cost of the hardware), I can see where Tivo would either have to price the hardware to make up for the losses or worse finally go out of business.
But the anti-tivo crowd are not bitching that they can't build a similar product because we have MythTV. What they are bitching about is that they can't buy cheap hardware that is sold at a loss with the intent to sell a service, and modify it.
If indeed RMS is a blowhard jackass, what does that say about a company which chooses to use code originally licensed under the GPL which said jackass created, in order to spread software freedom?
First of all, could someone please provide details of what software we are talking about?
Was it GCC? It is my understanding that it is being used as specified in the terms of the GPL... AND NOT INCLUDED ON THE IPHONE.
Was it KHTML? I though LGPL allowed such use.
Are there any GPLv3 code on the device? I thought GPL3 and iPhone was released on the same day, and I doubt any anti-tivo clauses are in any of the software included on the iPhone.
Now the main question: How does RMS being a blowhard jackass affect the price of tea in China? Ahem... I meant to say "How does RMS being a blowhard jackass affect the quality of the software covered under the GPL? Sure some believe he is a jackass. So what? Other than his actions seem to provide cannon fodder to those who are against the GPL, what harm has he done? If he wants to publicly attack users (and supporters) of the GPL and create his own version of Fear, Uncertainty, and Doubt about whether it is safe to issue or use GPL software then who are we to question his reasoning. It's not like as a community we don't want to be viewed as bipolar nutjobs... Of course it doesn't help that there are some who would fall on their sword to worship the ground that RMS walks on.
News-flash: RMS is human. He has flaws like everyone else. Now I ask, "Is he the emperor with no clothes, or the white elephant in the room?" I just can't decide which metaphor to use. I'm not saying he is a bad guy, it's just that as he becomes embolden with his notoriety, he begins to push the envelope on what I and others consider acceptable terms to license software or more importantly an acceptable organization to publicly support.
The problem I have is the FSF is apparently spreading accusations that Apple may have violated the terms of the GPL. It would be different if the FSF was specific and began negotiations, instead of poisoning the well with media reports obviously designed to take advantage of the iPhone release. Maybe someone is more of an attention whore than a jackass, or is it a jackass for being an attention whore?
Why don't companies that wish to sell 'locked-down' or 'dumbed-down' inferior products write code from scratch?
I would not call the iPhone an inferior product, nor would I call Tivo one either.
Incidentally, Linus (you know the one who started Linux) has no problems with the way Tivo uses Linux. In fact, the anti-tivo clause was the main thing that gave Linus the most heartburn about GPL3. The irony being that it was the popularity of Linux that propels the adoption of the GPL and not RMS or the FSF. RMS knows this and is the motive behind the Gnu/Linux naming issue. Was it a naming issue, or a clever grass roots marketing campaign??? Who cares. The point being that it's the products that drive the adoption of the GPL and if RMS wants to become the cautionary tale of why you should reconsider using some other license than the GPL, who am I to question him?
However what intellegent people can do is make predictions. That is take what they know, and what history has shown, combined with their own cognitive abilities to make interesting and insightfull comments about the FUTURE.
Actually we seem to measure the intelligence based on the outcome of the predictions. Thosed that have guessed correctly are seen as visionaries while those who didn't are not. "Even a blind hog finds an acorn now and then."
While meteorlogists, stock analyst, economists, and etc. are usually intelligent people, their predictions are not always correct.
The real question is there any significant change in philosophy that makes GPL3 more revolutionary than GPL2? Mostly what I've seen has been evolutionary and we are seeing a trend toward acceptance based on the quality of some high profile software projects (in particular Linux) and a see the trend growing with companies like Sun licensing more of their products to GPL. The irony being that Linux was promoted for it's developer and end-user friendliness and GPL just benefitted by association. If there was a different license that mirrored Linus' thinking more accurately he would have picked a different license. Anyway... point being GPL acceptance is product driven and it doesn't take a genius to see the trend of the number of products based on GPL going up based on past performance.
I think the AC makes a valid point. I also think he draws a wrong conclusion. If you make a knock-off of something a merchant creates either the original isn't valuable in itself, or the original will retain its value (or it could do both). Take the situation of knock-off designer bags. The original bag still sells for as much (arguably more - due to increased visibility increasing desire) while the people both buying and selling the knock off are also benefiting.
The problem being that your assumptions are based on the knock off being of inferior quality and not an exact digital reproduction. When talking about songs, each digital copy of a song in the wild lowers the value of the authentic song file. Why pay for something you can get for free?
Oh but the artist should perform at concerts to make his money! Well that was simplistic and quite frankly unfair. Why should a musical artist be forced to make money by touring? Why can't his song be a commodity like any other work of fiction? When E-books are shared, do you expect the book author's main source of income being from performing public readings?
To be fair, I am mostly irritated by the idea of giving an artist (or ticketmaster) a valid reason for charging even more money for a concert. It would be nice if a concert ticket remained within the economic means of an average teenager/young adult.
I was led to believe that an artist tours to promote their album...
The vast majority of artists would not be upset in the slightest to know there are infinite digital copies of their work floating around the world.
Then why don't these supposed majority of artists just go ahead and give it away like Prince appears to be doing? Oh yea, They rather have the money. If they say otherwise they are trying to appeal to their demographic by spreading bullshit that they know they won't actually have to live up to. Then again, these majority of artists are (1) not successful nor an artist of a major label OR (2) they are a work of fiction used to try to justify an argument for file sharing.
Actually it was the politicians that rewrote the social contract. Sure, it was lobbying by Disney but it was also the silent apathy of their constituents. So technically the copyright holders have not broken any social contract.
The other question that begs being asked is: Why is it so important for Mickey Mouse to become public domain? Or more importantly any Brittney Spears song?
How about, it was already intended for common usage prior to J&J trademarking it.
BTW, I am no longer *actively* affiliated with the American Red Cross and my comments do not reflect the views or opinions of my former or current employer...
The products in question are the first aid kits and other items sold by the health and safety people of the ARC to help pay the expenses associated with the day-to-day operations of the chapter (I know this because I use to have a position on the ARC disaster services board for one of their chapters).
They didn't license this symbol out to competitors, these are products purchased by the ARC and resold by the ARC.
I think J&J is in the wrong here. Besides my obvious bias toward the ARC, the red cross symbol (like the red crescent for the foreign organization) are internationally known and associated with the relief organization. In addition, the cross symbol has been associated with first aid and safety for quite a while. When I think of Johnson and Johnson, I think of their logo as their company name in cursive on the package.
Despite the fact that the ARC is older than J&J, and for all practical purpose is the originator of the symbol, J&J has not actively pursued any so call trademark violations until 2007.
Why do you call ARC sleezy? Do you have an axe to grind with them? If you do, get over it.
Let's face it - J&J used the symbol to give people the impression that somehow they should be associated with the good Samaritan acts of the Red Cross. They also used the symbol, because it is the symbol associated with first aid. They didn't trademark for brand recognition, they trademarked it to prevent their competitors from doing the same.
Have you ever seen Scooby Doo, Josie and the Pussycats, and Speed Buggy?
The question I must ask is - WHY?
The effort to run Linux programs on OS X is minuscule, while the effort to run OS X on Linux would be a major undertaking with few (if any) real returns on the investment.
I use OS X at home and Linux at work, and have no problems bringing my work home..
The only reason that I could see for a project like this would be to run OS X programs on non-apple hardware. I wouldn't care much for this, since (1) there isn't really that many "must have" applications that is OS-X only (and not part of the OS itself) and (2) why create tension with Apple if there really nothing much to gain.
No, since most motorists won't touch a line of source code. The benefit come from being able to recompile the engine to work optimally with their own driveway.
I kid.
A graphics driver is a part of a PC system and not *the* system, therefore your car analogy doesn't really apply. Take the emission control system as an example, it is part of the automobile and it affects performance. However, other than being able to set some parameters in ROM (for some vehicles) they are black boxes that must be replaced outright when they begin to fail. There are lots of other parts that are not modifiable at all. Sure you can replace the parts with custom made parts, but the analogy was that someone wouldn't by an automobile that had closed source parts, when in fact millions do.
The car analogy supports the closed driver argument better. The car is open source since it allows the driver to work under the hood, yet it contains closed source parts that leaves the driver with no choice but to make a trip to the auto parts store and purchase a replacement.
Personally I would love to have open-source drivers, but I am a realist and live with closed source binaries. As long as the vendor supports the product, I can live with closed source driver. However, when they don't....
Keep in mind the $42,148 was for household, so if both adults work (in a married household) then they would be less likely to be working for an employer that provides retirement.
Here is another source of information from the US Census: http://www.census.gov/compendia/statab/tables/07s0 541.xls
According to Census in 2002: Only 41.5% of the total population participated in a private pension plan. This too does not support your assertion.
Do you need numbers? I got your numbers right here http://www.census.gov/prod/2001pubs/p60-213.pdf.
The US Census says that the median income for 2000 was $42,148.00. So being median, that means that half of the US households make below $42,148.00. This does not back up your assertions.
Thanks for your comment, and for nailing down the ultimate factor in deciding how much time is used for SA.
I know this is slashdot, so we often go off topic (which is why I enjoy it). The original intent of my comments was not that a full fledge Software Assurance protocol should be adopted, but that good software development practices should be followed and not to blame the programming language for any problems that result from not following them.
Good software development practice really shouldn't be confused with SA. Checking for simple errors and to test the critical sections of the source code does not require extensive documentation. It would be great if it was documented (eg. Cover Your Ass), but documentation is not a barrier to preventative measures being taken during coding. The quality of the code regardless of SA (or lack thereof) or scheduling pressure (we all have them) often reflects the quality of the programmer.
Let me throw this out there... Implementing Software Assurance does not guarantee that the quality of the programmer improves. Software Assurance tries to guarantee that the full potential of the programmer is realized. I know this is a high level concept, but I think managers believe that if they increase the level of assurance somehow they will be able to make up for the lack of talent. Often, SA is used for CYA when something goes wrong rather than a tool to measure quality.
True there is overhead, but it's not that bad.
There is a difference between being an obsessive compulsive while coding, and just planning ahead and testing what you did.
I noticed that people who don't like the idea of doing a little extra effort, always reach for the absolute other end of the spectrum as proof why they shouldn't even attempt software assurance.
I admit my projects require more SA than most, but I rather be late than ridiculed by the press because a high-profile project didn't work accordingly to plan. One characteristic common to most of my projects is that we incur a large amount of expense and only have one shot at getting it right. So from that perspective I tend toward the middle-to-high end of the software assurance spectrum.
Now if I was in a for-profit and was releasing software that could afford to be patched at a later time, I would still use software assurance but I would dial it down to the level that would allow me to make some quality measurements while remaining on schedule.
Notice I said I would still do some software assurance?
There is nothing hard with doing at least:
ModuleA(x) takes an integer value from 0 to 31 and returns a 16 bit value representing a voltage measured between 0 to 5 volts by the 12-bit ADC converter board. Possible error conditions include negative channel numbers or channel values greater than 31.
Test cases: A measurement of channel 5 should read 5 volts. A measurement of channel -1 should throw and exception. A measurement of channel 32 should throw an exception. A measurement of channel 12 should return 2.5 volts.
Do people really just blindly put software together around here or what?
Your post highlighted all the dangers of ad-hoc programming.
Personally, I've seen a lot of "experienced" C programmers but only met a few good C programmers. I don't blame the language, instead I blame the programmer who gives into temptation and think they could just quickly code an application on-the-fly without any planning. A decent analogy would be that while a large number of people are familiar with the english language, only a small percentage of them can write a decent novel.
I am a C/C++ programmer, and I believe that I am capable of making even the dumbest mistakes when coding (especially during an exceptionally long programming session). This is why I test! I make my unit tests with the intent of making sure my procedures error out correctly, as well as verifying that it works correctly. I put special effort in data objects that are prone to buffer allocation errors.
I also design the overall program ahead of time, define the interfaces between modules, and go over expected application behavior with the test engineer.
I go through this because (1) the only true way to make quality software is to put forth the effort to design, test, and maintain the code from the beginning, and (2) I never expect any language to handle errors correctly.
Number 2 is important, since even if a higher language does handle out-of-bounds conditions, does it handle it in a way that doesn't cause a problem somewhere else in the data chain?
For (off-the-top of my head) example, if I had a string buffer that automatically grew to 518 bytes to handle an erroneous data entry and it stored it in a database record that only held 512 bytes, does it truncate the data or does it posts a warning. Remember this error wasn't caught by the programmer, so are we to assume that the programmer would check for this error when it came time to place it in the database? Or what if the application simply threw an out-of-bounds exception? If it wasn't tested for this in production, then this means it could happen in the field. In my line of business, it must be caught in production.
The reason *I* use C and C++ is because I need the speed that comes from not having the language doing all my thinking for me. If *you* think C has issues then maybe *you* need to use another language more appropriate for your requirements and your skill set. BTW, my colleagues would have issues about your Fortran comment too!
I am not saying C/C++ is the best language for every situation. I am just saying that I use C/C++ because of performance and space requirements. I am also saying that no high level language is a good substitution for good programming practices.
The issues related to this story require even more effort in testing. We are not trying to catch simple runtime errors, we are trying to prevent someone who has the intent to break the security of a program. This falls outside of the realm of high level languages even with the issue that caused this particular "breach."
For (another off-the top of my head) example, even the best programs can fall victim to a compromised configuration file. So effort must be made to give an application the minimum amount of security privileges necessary to do its task *and* make sure that the configuration files are not modifiable without higher privileges.
I think he was joking. Anyway, I run my Linux off of a Solid State Drive... LOL
Thank you for an excellent post.
It's called a helicopter.
I know what you meant, but since these drones are remotely controller rather than autonomous, I see it more of an additional cost than an asset right now.
Besides, why invest money in damage assessment aircraft when you have the local news media willing to do it for free? The local news station here on the Alabama Gulf Coast has a helicopter with a very nice pan-zoom camera system.
You are correct. RMS did start the GNU project, but...
Pardon me if my memory is incorrect (I'd hate to unintentionally spread a falsehood), but let me tell stories from the past (why not? It's slashdot):
Before Linux was around, I remember collegues that routinely substituted GNU utilities for the utilities that came with their OS. It was during this period, we (my collegues and I) thought that the GNU project was more interested in replacing the inferior command line utilities of the day with their own. These utilities provided the functionality of the unix commands, while not actually being part of unix (hence GNU). Why didn't he ask that we call our OS - GNU/SunOS or GNU/AIX? Because they were just substitutions to utilities already there, and the Internet wasn't able to be his platform for a public crusade. Or perhaps (just perhaps) he had no real intentions of producing an OS (just thought about it).
It wasn't until after Linux was accomplishing its goals, did I ever hear a mention of the GNU System. RMS may have intended to make his own operating system, but he did a piss poor job of accomplishing it. Instead, his group focused on the utilities and not the OS. If the goal was truly an OS, then why keep polishing the utilities? Why the difficulty in getting it started and finished? And while I am at it, what is the status of HURD? Don't try to bring up duplicated effort, after all we have GNOME (which I like BTW).
I don't intend this to be a personal attack of RMS, in fact I think his stubborness has been invaluable to the free software movement. It's just a shame, he couldn't be a little more stubborn about completing a kernel. I never met the guy personally, but still hope to. He has my respect, but that doesn't keep me from not agreeing with him on some issues.
The way I see it, Linus beat him to the punch. Linux is now a popular open source operating system, and this has stoled a lot of thunder from any OS coming from GNU. So how do you try to regain some of your former glory? Easy! Try to claim Linux as your own, since after all it uses the command line utilities.
Seriously, the only beef I have is that a party that was not intimately involved in the day-to-day development of a project, is trying to have its organization's named tacked onto the project name after the fact, and through public misinformation. My favorite is when he calls Linux a variant of the GNU Operating System (As if a GNU Operating System actually exists... in the wild... deployed... finished...).
In fact, GNU software is my favorite tools to use, and I promote GNU software like GCC, GDB, and EMACS to my coworkers. I never said "Hey you need to install Linux, it has some nice command utilities," I have said "You need to use GCC, MAKE, and EMACS. It works better than the commercial alternatives and works well with SSH. Oh and we need to use Linux ;)"
I routinely say that the free utilities that come from GNU is powerful enough to build an OS with, in fact look at Linux.
So now that I have given you the point of view that I base my opinion on, let me try to answer your question:
Linus didn't have a goal of making command utilities. I am guessing his goal was to create a viable x386 based Unix like operating system. So he and a group of others, worked collaboratively and produced a working OS kernel. True a kernel isn't much without some user-land commands, but the use of said utilities does not in itself warrant refering to Linux as GNU/Linux. Again, I am asking where in the GNU license does it state that I must use "GNU/" in front of any project that makes use of GNU code (or programs).
So why would I not refer to Linux as GNU/Linux? (1) Becau
What? I was talking about the GNU/Linux issue. RMS didn't start Linux.
Feel free to replace GPL with GNU in the appropriate places in the Parent.
I do. It *may* sound silly, but I take issue with Stallman trying to rename a project or at least dictate what the project should be named. I do not recall any clause in the GPL that states that the letters GPL must be included in the name of the project. I don't care what percentage of GPL software is used. This is just a grassroots marketing scheme to ride the wave of Linux popularity to expose GPL to the masses.
I don't have a problem with educating the public about the GPL. I just don't like Stallman prefixing a popular OS to further his own cause. Now if Linus says "I have renamed Linux to GPL/Linux," this would be OK.
Why isn't Apple a user? They used KHTML to make Safari. I think you need to recheck the definition of user. A developer can use libraries GPL or otherwise to make an end product that someone else can use.
So technically the chain is: KHTML (WebKit) is used by Apple to make safari, and safari is used by end users to browse the web.
Ahhh where to start? Ok. First of all GPL2 was never about the hardware. It was always assumed that there would always be a general purpose computing device that can run the software.
In addition, if there was a massive extinction of hardware engineers (hell even hobbyist) I would be concerned but currently I'm not.
Now let's talk about Tivo. If you own your own hardware, then I see nothing from preventing you to modify it as you like. However, this right to modify something that you own doesn't translate into Tivo (or anyone else) has to make it easy for you.
So you bought a product that does most of what you like and now you want to tinker with it? Fine. But wait, I can't do it because Tivo executes only signed code and I am going to figure out a way around it (Boo hoo).
I see absolutely nothing wrong with what Tivo does. In fact, it allows Tivo to sell the equipment at a loss in exchange for a subscription to their services. If people were able to easily modify these boxes to not require Tivo services or to block advertisements from that service (which subsidizes the cost of the hardware), I can see where Tivo would either have to price the hardware to make up for the losses or worse finally go out of business.
But the anti-tivo crowd are not bitching that they can't build a similar product because we have MythTV. What they are bitching about is that they can't buy cheap hardware that is sold at a loss with the intent to sell a service, and modify it.
Wait we have an open source iPhone solution complete with hardware and everything! Cool... Oh wait, KHTML does not equate to an iPhone... damn.
Oh maybe you mean't to say that Apple uses GPL code without giving back modifications... hmmm, I don't think that's right either.
First of all, could someone please provide details of what software we are talking about?
Was it GCC? It is my understanding that it is being used as specified in the terms of the GPL... AND NOT INCLUDED ON THE IPHONE.
Was it KHTML? I though LGPL allowed such use.
Are there any GPLv3 code on the device? I thought GPL3 and iPhone was released on the same day, and I doubt any anti-tivo clauses are in any of the software included on the iPhone.
Now the main question: How does RMS being a blowhard jackass affect the price of tea in China? Ahem... I meant to say "How does RMS being a blowhard jackass affect the quality of the software covered under the GPL? Sure some believe he is a jackass. So what? Other than his actions seem to provide cannon fodder to those who are against the GPL, what harm has he done? If he wants to publicly attack users (and supporters) of the GPL and create his own version of Fear, Uncertainty, and Doubt about whether it is safe to issue or use GPL software then who are we to question his reasoning. It's not like as a community we don't want to be viewed as bipolar nutjobs... Of course it doesn't help that there are some who would fall on their sword to worship the ground that RMS walks on.
News-flash: RMS is human. He has flaws like everyone else. Now I ask, "Is he the emperor with no clothes, or the white elephant in the room?" I just can't decide which metaphor to use. I'm not saying he is a bad guy, it's just that as he becomes embolden with his notoriety, he begins to push the envelope on what I and others consider acceptable terms to license software or more importantly an acceptable organization to publicly support.
The problem I have is the FSF is apparently spreading accusations that Apple may have violated the terms of the GPL. It would be different if the FSF was specific and began negotiations, instead of poisoning the well with media reports obviously designed to take advantage of the iPhone release. Maybe someone is more of an attention whore than a jackass, or is it a jackass for being an attention whore?
I would not call the iPhone an inferior product, nor would I call Tivo one either.
Incidentally, Linus (you know the one who started Linux) has no problems with the way Tivo uses Linux. In fact, the anti-tivo clause was the main thing that gave Linus the most heartburn about GPL3. The irony being that it was the popularity of Linux that propels the adoption of the GPL and not RMS or the FSF. RMS knows this and is the motive behind the Gnu/Linux naming issue. Was it a naming issue, or a clever grass roots marketing campaign??? Who cares. The point being that it's the products that drive the adoption of the GPL and if RMS wants to become the cautionary tale of why you should reconsider using some other license than the GPL, who am I to question him?
Actually we seem to measure the intelligence based on the outcome of the predictions. Thosed that have guessed correctly are seen as visionaries while those who didn't are not. "Even a blind hog finds an acorn now and then."
While meteorlogists, stock analyst, economists, and etc. are usually intelligent people, their predictions are not always correct.
The real question is there any significant change in philosophy that makes GPL3 more revolutionary than GPL2? Mostly what I've seen has been evolutionary and we are seeing a trend toward acceptance based on the quality of some high profile software projects (in particular Linux) and a see the trend growing with companies like Sun licensing more of their products to GPL. The irony being that Linux was promoted for it's developer and end-user friendliness and GPL just benefitted by association. If there was a different license that mirrored Linus' thinking more accurately he would have picked a different license. Anyway... point being GPL acceptance is product driven and it doesn't take a genius to see the trend of the number of products based on GPL going up based on past performance.
The problem being that your assumptions are based on the knock off being of inferior quality and not an exact digital reproduction. When talking about songs, each digital copy of a song in the wild lowers the value of the authentic song file. Why pay for something you can get for free?
Oh but the artist should perform at concerts to make his money! Well that was simplistic and quite frankly unfair. Why should a musical artist be forced to make money by touring? Why can't his song be a commodity like any other work of fiction? When E-books are shared, do you expect the book author's main source of income being from performing public readings?
To be fair, I am mostly irritated by the idea of giving an artist (or ticketmaster) a valid reason for charging even more money for a concert. It would be nice if a concert ticket remained within the economic means of an average teenager/young adult.
I was led to believe that an artist tours to promote their album...
Then why don't these supposed majority of artists just go ahead and give it away like Prince appears to be doing? Oh yea, They rather have the money. If they say otherwise they are trying to appeal to their demographic by spreading bullshit that they know they won't actually have to live up to. Then again, these majority of artists are (1) not successful nor an artist of a major label OR (2) they are a work of fiction used to try to justify an argument for file sharing.
Actually it was the politicians that rewrote the social contract. Sure, it was lobbying by Disney but it was also the silent apathy of their constituents. So technically the copyright holders have not broken any social contract.
The other question that begs being asked is: Why is it so important for Mickey Mouse to become public domain? Or more importantly any Brittney Spears song?