Why? Ignoring bosses' orders can be ethical in a lot of cases. Company's policy has very little to do with ethics, and it's still a moral choice of a person to follow or to reject it.
I was using the term "ethics" in the sense of "Professional Ethics". As in: ethics n - the principles of conduct governing an individual or a group.
While there are exceptions, it is generally not ethical in the sense of "Professional Ethics" to not do as instructed by your employer. It is in violation of your implicit contract of pay for work as directed.
If you disagree with an employers edict to the point that you find that you cannot follow it, you should quit. I recognize that there are difficult choices to be made when suddenly losing your employment would endanger those who depend on your income. In those cases, perhaps you should do as instructed and register your objections. Remember that if you don't do as instructed and are found out you may also suddenly lose your employment under circumstances that are even less favorable to those that depend on your income (eg. you'll have a tougher time getting another job when fired for insubordination).
Following an ethical code can lead to difficult choices.
Moral is something else entirely. If an ethical system is in conflict with your morals, you shouldn't follow it, but morals and ethics are not identical.
I guess I could respect a "GNU ethics" that holds that freeing software is more important than deceiving your employer. But, I'd like to see it explained somewhere and codified so it could be critically examined.
I don't respect people doing just what they feel like as being right in situations that require an ethical judgement. I believe in people following ethical codes rather than just what seems right at the moment.
Should we have shut down a few thousand Unix servers immediately, pending the approval of new non-Open replacement tools? Would that have been the ethical thing to do?
It seems to me that you have a responsibility to point out the problems with implementing the edict.
If after the problems and costs have been clearly delineated, and the CIO still insists on a policy of "NO OPEN SOURCE", then you should carry it out or quit.
The problem may come to when something goes kablooie (even unrelated to the open source software) and the headhunters come flocking to put someone on the chopping block. If the software was from a large, dominant provider, the boss and anyone else who ought to be taking responsibility can just shrug and say 'Oh well, buggy as usual' and go on.
This is an excellent point, I think.
I do find it ironic that so many people in the discussion of this Article are appealing to liability concerns when we have the VERY recent slashdot article about how shrinkwrap warranties are being upheld.
However, what you are saying above is subtly different than this. You're saying that no one will hold you personally liable for selecting a "popular" solution (MS, Sun, IBM, etc.) vs. Open Source.
We can hope that as the reputation of Open Source improves; that after many success stories continue to accumulate and the reputation of shrinkwrapped solutions becomes tarnished by companies finding they have no recourse when things go "kablooie", that this situation might change. Management could feel more comfortable with supported solutions that are based on Open Source.
Ultimate, Open Source may offer some advantages in perceived reliability. A firm can commission specific audits on a system to help ensure that it meets their requirements with Open Source and if things do go "kablooie", it is easier to pay someone to fix it without junking the system in it's entirety.
However, to do it behind the bosses back... isn't that somewhat against ethics too?
I'm glad to see someone asking ethical questions.
That being said, what are the ethics involved? Remember that ethics are only those generally accepted codes of behavior.
I don't think there are clear ethical guidelines in many of these situations. If the boss has stated flatly "NO OPEN SOURCE TO BE USED", then it's clearly unethical. In the article the situations usually weren't so clear-cut.
Technical people should be allowed to perform their duties with the best tools for the job. Management can raise valid concerns against using Open Source (like, if the people who implemented it locally quit or died, who services this solution). These concerns can, today, be addressed, I think.
It might be unethical for management to dictate solutions without a good justification. If the "approved" solution is unnecessarily expensive and complex, requiring it may be a breach of management's responsibility to the shareholders or upper management. Of course, the fact that management is acting unethically doesn't justify unethical behavior on the part of others.
It's often discussed here and I'd like to see it discussed more. Technicians/Engineers/Programmers are badly in need of codified ethics. Does anyone know anywhere on the Net where this is discussed? Or proposals for what a code of ethics would contain?
If someone points a gun at you, you can't wait until there's clear and compelling evidence that it's a functional and loaded firearm.
Sheesh, don't people know what common words like "clear" and "compelling" mean?
If someone points a gun at you, it's clear that you might get shot and you might be compelled to take immediate action.
I'm not the one who wanted to play semantics with three words "clear and compelling" of my original post. However, I defend my use of those terms. Clear, in this context, means "free from obscurity or ambiguity". Something is compelling if it drives you to act. I think someone pointing a gun at my head is both clear and compelling. "Clear and compelling" does NOT mean beyond all metaphysical doubt.
Unfortunately what is "clear and compelling" is entirely viewer dependent, and in an issue as heavily politicized as this, biases come heavily into play.
So, because there it is heavily politicized and there are biases, we can't act reasonably? I reject this.
Does this mean we have to act unreasonably? To overreact in ways that cause more damage than they address (I gave two examples, Asbestos cleanups and MTBE).
Another problem with "clear and compelling": The total disappearance of the ozone layer would count as "clear and compelling" evidence. The problem with this is that it would be too late to do anything by then.
The alternative to acting on clear and compelling evidence is acting on ambiguous and unconvincing evidence. I suppose you favor acting on the evidence of any crackpot that comes along?
Actually, the total disappearance of the ozone layer would be clear evidence of something, I suppose, but without other causal evidence it wouldn't be proof that industrial humanity had anything to do with it whatsoever. I'm glad you gave this as an example, actually. When the world was confronted with clear and compelling evidence of damage of CFCs on the ozone, Industrial Societies acted dramatically.
Clear and compelling evidence was presented and people acted reasonably.
We don't just need "clear and compelling" evidence. People buy insurance against unlikely but catastrophic events. If there is even a reasonable risk of an environmental catastrophe, we need to act appropriately to insure ourselves against this.
I only buy insurance when it's clear and compelling that there is a risk that it covers. I suppose you buy insurance against alien abduction (you can!) and other unlikely events?
Besides, there is also a risk in henny-penny anti-industrialization. What if we are unable to fend off a killer meteor in a few hundred years because we de-industrialized as "insurance" against the possibility of environmental catastrophe?
I agree we need to act "appropriately". To my mind, this involves collecting evidence and establishing cause and effect. That's what I was addressing in my post where you found it so necessary to mince the words "clear and compelling". Apparently, the author of the article felt that collecting evidence and establishing cause and effect was too great a burden.
"Some of the most difficult environmental challenges are not being adequately addressed simply because of the difficulties of collecting the necessary evidence and establishing cause and effect."
Uhhh, how do we know they are the "most difficult environmental challenges" or whether they are being "adequately addressed" if we haven't collected evidence and established cause and effect?
I'm not against doing sensible things to improve the environment, but the heavily politicized environment we have today makes reasoned action almost impossible.
Some examples:
As a knee-jerk reaction, we remove Asbestos from building insulation at a cost of Hundreds of Billions of dollars and statistically cause many cancer deaths by releasing the Asbestos into the environment during removal. How many wetlands could have been saved with this money?
We introduce MTBE into Gasoline to improve air quality a very very small amount and pollute our waters.
We must not take steps to fix environmental problems before there is clear and compelling scientific evidence. Any other course would be the recommendation of someone with severe adolescent lead poisoning.
No matter how good the product, how unobtrusive it is, how polite they are, they are still filling up my mailbox with ads.
Now, I get a lot of ads in email from companies where I have explicitly giving them permission to send me such, often in exchange for something nice like an informative newsletter, or a CD with something of value. My time is valuable, and I don't give it away for nothing. Hmmm... I do however waste it posting on/., so I'm not entirely consistent here.
The difference is that I've asked them to send me ads, it's not UNSOLICITED email. Spam = UCE => Unsolicited Computer Email. In these days of banner ads, there is hardly any argument that a company NEEDS Spam to get my attention.
I always always always junk all Spam (and much of the solicited ad email). If you ever give into the urge and do check out the Spammer's offerrings further, you are just encouraging them (as a class, both "legitimate" and otherwise) to fill up your mailbox with garbage. If everyone deleted all Spam there wouldn't be a Spam problem and we wouldn't need legislation or filters.
or 'hot naked sluts want you' featuring 900 numbers and typos,
CT, you've really brought up one of my pet peeves. I hate it when the 900 number have typos... uhhh, not that I ever call those things... Just checking them out so that I can collect information for my Anti-SPAM lawsuit, you see... Yeah, that's it, collecting information!
In my meta moderation, I often express no opinion on trolls. It seems that quite often, I can see that a given troll is both a valid comment and a troll. In other words, I can see both sides of it and in those cases I express neither fair nor unfair.
I guess the problem is that I feel that often trolling is justified and makes a point. Must we be limited to discussion that is not heated, that is not insulting, that doesn't raise anyone's anger?
When I moderate I only mark something as a troll if it's clearly a troll AND it's clearly off-topic. Maybe I should mark it as off-topic instead of troll or flamebait. I guess without the troll and flamebait Moderations there are those who would fill up the threads with nothing but nasty insults that are only very marginally on-topic.
This whole thread is off-topic, in a way. I wish there was a place here for an ongoing discussion of Moderation and Meta-Moderation. These things should be discussed. This thread is on-topic in that it's in the discussion of an article on which people seem to have a hard time being "objective" with their Moderation.
Objectivity in Moderation is unrealizable. The "Insightful" Moderation implies subjectivity, for example. I do feel that there are many who use Moderation where a reply would be more appropriate. If you don't agree with something, reply, don't Moderate down.
You appear to take the stance of the DOJ - you won't consider any offer from MS an acceptable "compromise" unless it makes provision for legal oversight of future business decisions or a breakup. However, that is not a compromise - it is an utter rout for MS.
Seeing as the current mess is the result of Microsoft completely ignoring the provisions of the 1995 consent decree with the DOJ, how could the DOJ ask for anything less than such oversight.
Microsoft has, time and again, shown their utter disregard for the law and the process. Judge Penfield has demonstrated exceptional restraint in not slapping the MS lawyers with contempt charges and moving toward summary judgement after they willfully and brazenly were shown to be manufacturing evidence in the form of the videotaped demonstration.
Well, the article sortof suggests that they set up the links automatically, which would be an innovation perhaps.
It's more than suggested. From the quoted article:
"The Single Instance Store recognizes that there's duplication, coalesces the extra copies and stores the bits once instead of several times," Bolosky said. "So if you have 10 files with the same exact bits, instead of storing this data 10 times, it stores it once. It frees up a lot of space, and you realize performance improvements on the server."
I would assume that, in this architecture, if you change one of the instances, it creates a new copy and does not modify the original file. This would allow you to have only one copy of a configuration file that needs to be copied to each user's directory for possible customization and only have the extra copies made if someone did, in fact, customize. Can anyone out there who really knows about Single Instance Store care to comment?
This is significantly different than symbolic links. It involves symlinks, but it's more than that. I'm not sure if it's really a big win, but it is different.
It seems to me that it's usefulness is an artifact of how difficult it is to manage Registry entries. Every application has Registry entries that point to application (configs, executables, dlls, etc.) files. You could always create user's common files with Registry entries pointing to a common copy and then modify the Registry entry to point to a local copy when you went to customize the user's environment. Of course, having the file system "recognize" this is in some ways more convenient. It also leads to redundancy of functionality (both the Registry and the Single Instance Store have a way of consolidating common files).
It seems that the Single Instance Store could be considerable overhead. For example, if I change a configuration file and get a local copy (if that's how it works, if that's not how it works I don't understand how Single Instance Store can be useful at all), does the Single Instance Store scan all of the files in the system to check if there's an exact copy of my new file somewhere? Does it have to make this scan continually for all changed files? Is it "lazy" about creating Single Instances in the case of transient files that are being opened/closed and updated frequently that just happen to be identical for a short period of time?
What would be really cool is if similar files were maintained as diffs from a single base file that were automatically applied on reading. Would this be an attribute of a log-structured file system? Or do current log-structured file system designs not include provisions for consolidating multiple files like this?
The US Constitution prohibits taxes, levies and duties on items imported/exported between states. Duties, levies and taxes between states was one of the primary problems with the Articles of Confederation (that the US Constitution replaced) which formed the first Federal US Government. The States started all sorts of nasty trade wars.
Not that anyone pays much attention to the US Constitution any more but...
Article I, Section 9
...
No Tax or Duty shall be laid on Articles exported from any State.
...
Article I, Section 10
...
No State shall, without the Consent of the Congress lay any Imposts or Duties on Imports or Exports, except what may be absolutely necessary for executing it's inspection Laws: and the net Produce of all Duties and Imposts laid by any State on Imports or Exports, shall be for the Use of the Treasury of the United States; and all such Laws shall be subject to the Revision and Control of the Congress.
For instance in an office with 2-3 PCs that want to share printer and files, and don't have any Net access.
With the advent of TCP/IP net-appliances (printers, file servers, etc.) it's hard to see where a no TCP/IP network would be recommendable for even a tiny PC network today. Even if you don't have any such appliances now, you make it more difficult to set up and use later. You also couldn't take advantage of Intranet web-based apps on a non TCP/IP network.
I do agree with other posters who see some value in this.
Some have said that its faster than TCP/IP. If this is true, perhaps it could be used for a high-performance on-the-cheap file server for Windows machines. Imagine a box with a minimal Linux kernel, easily swapped cheap HDs/tape drives/CDs(ROM/RW)/other handy networkable storage, fast ethernet. True, you can't route the file server traffic, but the market would be for low-cost high-performance workgroup storage sharing. Might be good to serve a Windows Web-Server farm, for example.
I guess the big downside would be that if you excluded TCP/IP completely, you'd miss out on the TCP/IP remote administration world.
It's paradoxical. The biggest reason I see for not setting up Netbeui-only networks is that you can't take advantage of the emerging TCP/IP appliances, but on the other hand it might be really good for appliance machines.
This is a question almost certainly better suited for others, but, unfortunately, those others aren't being interviewed. Fortunately, I believe you probably have some perspective on it.
From your FAQ, it appears you have strong opinions on the relative merits of C vs. C++ for most applications. I quote, in particular:
C is better than C++ for small projects, right?
Not in my opinion. I never saw a project for which C was better than C++ for any reason but the lack of a good C++ compiler.
Do you have any idea why C++ was rejected as the implementation language by the most experienced C programmers, those folks now at lucent.com (Dennis Ritchie, Rob Pike, et al), for their most visible projects, Plan 9 and Inferno?
Surely, these people had access to a good C++ compiler.
If I may have a follow up, but closely related, question. Was the division of the Bell Labs Research staff between Lucent and AT&T related to a division of opinions concerning C and C++?
I believe that 1.0 is just some good nightly build that they blessed as 1.0 and packaged. I think there was discussion about this on the mailing list. There is some good stable nightly build that a lot of people are running as Beta 20.1 is quite ancient. I'm still using Beta 20.1.
...it's that they're attempting to portray themselves as being "in" with tne Open Source(/free software) crowd, which they aren't... that's all.
This does seem to me to be a way to sell more C++ Builder at the expense of some amount of C++ Compiler licenses. Note all the mention of C++ Builder on those pages.
Unfortunately, it may well hurt the truly open C/C++ compiler for Windows, cygwin. In this regard, it can actually be viewed as a net loss to the Open Source Community.
I agree. I'm all for stronger European nations. The true Democracies don't involve themslves in wars.
I'm not concerned about a strong Europe. I'm more afraid of a weak one.
The US keeps bitching that "we Europeans" can't take care of ourselves, and need their "constant protection". Europe is getting an army and is propably going to pool their arsenal of nukes.
Well, I'm sure that "you Europeans" hate being painted with a broad brush as much as people in "The US" do.
I do know a lot of people who wonder why the United States bears the brunt of responsibility for fighting wars that, if there were any equity, would be at least as much Europe's responsibility (Kosovo, The Gulf War).
Europe isn't backwards. It's just different. Many Americans fail to realise that by the rest of the world's standards they are fat, lazy... <rant about how horrible Americans are deleted>
I'm don't think that "fat and lazy" are fair characterizations of Americans as a whole. We work more hours than Europeans and I think we can be proud of our many high technology achievements. I've worked in Europe and I didn't notice people working any harder there than I see in the US.
But, if Eurocentric bigots want to look down their noses at us, I doubt that any arguement I could make would be of any help.
...not to mention America's opressive way of forcing its culture on everyone else.
Yes, Americans are clever the way we force all those European TV networks to carry Melrose Place. Face it, nobody forces American culture on anybody who doesn't buy it.
The only coercion I see in cultural matters is how various governments around the world forbid American (and other foreign) culture from being allowed in their country because given the choice, the people might freely choose the foreign culture.
Also, where's the typical Slashdot response about who paid for what? The first paragraph of the PDF file states that Novel "commisioned" the tests.
OK, here it is:
Now, Who paid for this test, hmmmm?
Oh, it's right here, right in the first paragraph, it was Novell. I see.
Gee, I thought it was going to be like buried in the back somewhere or someone was going to point it out later, that the tests were paid for by the vendor. You know, just like whenever there's a favorable Windows benchmark.
I'm pretty surprised to see unfavorable Windows benchmarks at all, actually. With the standard MS license that forbids you to publish benchmarks for the product. I wonder why they have such a clause?
I'm sick of all these comments complaining about how hard Perl code is to read.
Providing that: a) you actually know the language, and b) the code was written by someone who actually knows the language
You should have zero problems with readability. Remarkably enough, the above applies for nearly every other programming language.
And I'm sick of all these dismissive oversimplifications of a complex issue.
Some languages lend themselves more to readability than others.
Admittedly, readability has as much to do with the reader than it does with the writer, but there are some attributes of a programming language that make it more readable when the readers are most human programmers who might try to modify code.
For example, I can parse and completely understand the semantics of simple aritmetic more easily than I can most English prose. This is true, even though I spend probably a minumum of 1000 times more time practicing writing and reading English than I do with arithmetic. Thus, it's not a matter simply of experience with the language.
English prose is far more expressive and powerful and completely contains all the expression and power of simple arithmetic.
The TIMTOWTDI nature of Perl leads to a lot of different ways to express a program. To understand the semantics of a Perl program one might have to think in a number of different idioms. Depending on the original author, the different styles and idioms might cover a large subset of the language in a given program, and Perl is a "big" language, with lots of odd corners.
Here's an extract from a discussion I was involved in a few years back in comp.lang.perl.misc with none other than the redoubtable Randall Scwartz that I think helps illustrate the point I'm trying to make:
>>>>> "Jordan" == Jordan Henderson writes: Jordan> For example, say I want to extract preformatted text from an HTML Jordan> file. Note that this is not a general purpose preformatted-text- Jordan> extractor, but it's handy for files where I can guarantee the Jordan> format (in a case where I wrote the original HTML file with another Jordan> program, for example):
Jordan> while () { Jordan> last if/^/; Jordan> } Jordan> if (eof) die "HTML format bad, couldn't locate preformatted text.";
Jordan> while () { Jordan> last if/^/; Jordan> print; Jordan> } Jordan> if (eof) Jordan> die "HTML format bad, couldn't locate end of preformatted text."; Jordan> Is there a better, clearer way to do this sort of thing?
I usually write something like this:
$found = 0; while () { $where =//..//; $found = 1, print if $where; last if $where =~/E/; } die "we didn't find it!" unless $found;
print "Just another Perl hacker," -- Name: Randal L. Schwartz / Stonehenge Consulting Services (503)777-0095 Keywords: Perl training, UNIX[tm] consulting, video production, skiing, flying Email: Snail: (Call) PGP-Key: (finger merlyn@teleport.com) Web: My Home Page! Quote: "I'm telling you, if I could have five lines in my.sig, I would!" -- me
Now, I was somewhat of a Perl newbie and I'm still nowhere nearly at the level of a Randall Schwartz, but I had a hard time with Randall's answer at the time. I was familiar with the.. operator, but had never used it.
I still feel that my original attempt using the eof operator was simple and very readable. I also love the elegance of Randall's solution.
See, I like Perl, I really do. It's very expressive. Randall's solution points to many other opportunities for good use of the.. operator. I don't think it's the most readable, in this case.
There's the rub. The most readable solution may not use the most expressive idioms. Readability isn't the only criteria on which to judge a work. Shakespeare is harder to read than Suess, but I don't want to be limited to a Suess-like style in my own writing
However, I'm sympathetic to the camp that seems to believe that computer languages should not have the same ambiguities and expressive power than natural languages. In some settings, it may be more productive to use languages with a more limited selection of possible idioms.
For example, I might prefer that an Air Traffic Control system be written in Ada rather than Perl. I want the maintainer of that code to be able to immediately and completely grasp the semantics of the code in front of him or her. I want the maintainer to be immediately comfortable with the style and choice of idioms.
Horses for Courses. Perl still excels in it's adaptability, it's functionality and it's expressive power. Python may excel in simplicity, it's applicability to programming language education and it's readability. I don't actually know Python so forgive me if I misrepresent it.
I'm glad I have simple arithmetic for some things. I'd hate to have to express number problems in English. I prefer "2 + 17 = 19" to "Two plus seventeen equals nineteen."
I'm wondering if there's not a hole in the coverage of the Jargon file. It merged in the old Hacker's Dictionary with Jargon from the '70s and it's full of '90s (and '00s) Jargon now, but I'm concerned that '80s, particular early to mid-80s is not well covered.
Maybe I'm a Jargon archeologist, since I can't find this on Web searches and deja.com only has my own reference to it I made awhile back, but I distinctly remember the term ATWAV being used a lot Usenet in the 86-89 timeframe. You'd particularly see this on comp.lang.c. I know what it means, but maybe I dreamed the whole thing as you'd think that it would show up on a web page somewhere.
I'm really surprised that it doesn't seem to be on the Web now... Does anybody else remember ATWAV and what it refers to?
Stallman advocates its use for precisely that purpose.
All you've shown is how the GPL protects the IP of the FSF (or other copyright holder who release under the GPL), not how it "confiscates" (your word) other people's IP.
Confiscation has a very specific meaning. It means to take. You agree to give your work to the community when you modify GPLd sources.
This is some kind of fantastic inversion of the Trotsky "property is theft". In your view, "property is theft" if that property is not allowed to be put to commercial use.
It's the programmers who are not allowed to "confiscate" the IP of the GPLd work when a copyrighted work is covered under the GPL.
Not so. GPLed software has zero market value, since it is available for free to all users. Therefore, programmers should be able to use it completely freely in their own work, whatever that work may be, at no charge and with no obligation. Why does the GPL begrudge them this? Because by doing so it undermines their livelihoods.
Boy, this is a bizaare world view. Because something has no market value it should be allowed to be appropriated? The Washington Monument has no market value. The one existing smallpox virus sample has no market value. Nuclear Weapons (by law at least) have no market value. My children have no market value. I guess you advocate that these can be abducted and used for whatever purpose that anyone wants "at no charge and with no obligation" because they have no market value?
The GPL denies certain uses because that's what it was designed to do. The purpose of the GPL is to build up a body of work to be shared by the community.
Does a commercial source license "deny" certain programmers their livelihoods because they can't modify that source and sell it?
Stallman does advocate the confiscation of programmers' intellectual property via the GPL.
I've addressed this elsewhere, but it bears repeating.
Stallman does not advocate the confiscation of anyone's intellectual property.
IP exists as either copyrights or patents. The GPL does nothing to appropriate someone's copyrights or patents. It's the programmers who are not allowed to "confiscate" the IP of the GPLd work when a copyrighted work is covered under the GPL.
Show me one instance where someone's else's copyright is confiscated via the GPL.
A comment on the Subject line. The GPL does NOT force forfeture of IP. IP only exists through a copyright, a patent or a trademark. You don't hold any of the above on a GPLd work that you modify, unless you hold the initial copyright (in which case nothing is forfeited). How can the GPL force forfeiture of a property right that you didn't hold?
Yes. That's what sharing is about. If you insist on something back, it's not sharing.
Sharing has several meanings, one of which is identical to 'giving' which is the meaning you are using. The meaning GPL advocates use is "to partake of, use, experience, occupy, or enjoy with others". The sharing in the GPL involves a community, a community that gives back.
Most people recognize a moral responsibility to give back to those who share. Sharing the blessings of liberty morally implies giving them to others. This recognition is what motivates people to give back under the MIT X license or BSD license.
RMS noticed that some people were taking advantage of the free work of others without sharing. That's not sharing, that's taking. He developed the GPL to correct this. If you don't intend to not share, it's not restrictive. This is exactly the agreement that all other contributors to GPLd software made their enhancements. Seems symettrical and fair to me.
And, by doing so, forfeit his or her chance to make any money from the work he or she invested in it. It's like saying, "Here, have a breath mint. But in return, I expect you to give me your house, your car, and the contents of your bank accounts."
This is an absurd hyperbole. Most individuals don't contribute the majority of the work in any single GPLd work (if they do, they are probably completely philosophically aligned with the FSF movement). It's more like saying "Here, have a car, a house, my bank accounts. Just let me have use of them, also, and you can share in all the improvements we make to them."
Again, the extensions are not merely shared with the original author. The programmer must give up his or her livelihood. A Faustian bargain.
More ridiculous exaggeration. Nobody is asking anyone to sign a contract to give up their livelihood. The contract implies that you can't make your livelihood off of selling derivatives from this particular piece of software. Exactly no different than many commercial source licenses, but nobody talks about being denied a livelihood there. With GPLd softwaer can still make your livelihood off of contracting to those who need changes made to this software, or supporting configuration of systems using this software.
RMS is hardly a good analog to the antagonist in Faust. RMS writes lengthy diatribes, easily available, clearly stating that the profit to be made off of GPLd software is not in it's sales. The Devil tried to downplay and hide the consequences of signing his contract.
I was using the term "ethics" in the sense of "Professional Ethics". As in: ethics n - the principles of conduct governing an individual or a group.
While there are exceptions, it is generally not ethical in the sense of "Professional Ethics" to not do as instructed by your employer. It is in violation of your implicit contract of pay for work as directed.
If you disagree with an employers edict to the point that you find that you cannot follow it, you should quit. I recognize that there are difficult choices to be made when suddenly losing your employment would endanger those who depend on your income. In those cases, perhaps you should do as instructed and register your objections. Remember that if you don't do as instructed and are found out you may also suddenly lose your employment under circumstances that are even less favorable to those that depend on your income (eg. you'll have a tougher time getting another job when fired for insubordination).
Following an ethical code can lead to difficult choices.
Moral is something else entirely. If an ethical system is in conflict with your morals, you shouldn't follow it, but morals and ethics are not identical.
I guess I could respect a "GNU ethics" that holds that freeing software is more important than deceiving your employer. But, I'd like to see it explained somewhere and codified so it could be critically examined.
I don't respect people doing just what they feel like as being right in situations that require an ethical judgement. I believe in people following ethical codes rather than just what seems right at the moment.
-Jordan Henderson
It seems to me that you have a responsibility to point out the problems with implementing the edict.
If after the problems and costs have been clearly delineated, and the CIO still insists on a policy of "NO OPEN SOURCE", then you should carry it out or quit.
-Jordan Henderson
This is an excellent point, I think.
I do find it ironic that so many people in the discussion of this Article are appealing to liability concerns when we have the VERY recent slashdot article about how shrinkwrap warranties are being upheld.
However, what you are saying above is subtly different than this. You're saying that no one will hold you personally liable for selecting a "popular" solution (MS, Sun, IBM, etc.) vs. Open Source.
We can hope that as the reputation of Open Source improves; that after many success stories continue to accumulate and the reputation of shrinkwrapped solutions becomes tarnished by companies finding they have no recourse when things go "kablooie", that this situation might change. Management could feel more comfortable with supported solutions that are based on Open Source.
Ultimate, Open Source may offer some advantages in perceived reliability. A firm can commission specific audits on a system to help ensure that it meets their requirements with Open Source and if things do go "kablooie", it is easier to pay someone to fix it without junking the system in it's entirety.
-Jordan Henderson
I'm glad to see someone asking ethical questions.
That being said, what are the ethics involved? Remember that ethics are only those generally accepted codes of behavior.
I don't think there are clear ethical guidelines in many of these situations. If the boss has stated flatly "NO OPEN SOURCE TO BE USED", then it's clearly unethical. In the article the situations usually weren't so clear-cut.
Technical people should be allowed to perform their duties with the best tools for the job. Management can raise valid concerns against using Open Source (like, if the people who implemented it locally quit or died, who services this solution). These concerns can, today, be addressed, I think.
It might be unethical for management to dictate solutions without a good justification. If the "approved" solution is unnecessarily expensive and complex, requiring it may be a breach of management's responsibility to the shareholders or upper management. Of course, the fact that management is acting unethically doesn't justify unethical behavior on the part of others.
It's often discussed here and I'd like to see it discussed more. Technicians/Engineers/Programmers are badly in need of codified ethics. Does anyone know anywhere on the Net where this is discussed? Or proposals for what a code of ethics would contain?
-Jordan Henderson
Sheesh, don't people know what common words like "clear" and "compelling" mean?
If someone points a gun at you, it's clear that you might get shot and you might be compelled to take immediate action.
I'm not the one who wanted to play semantics with three words "clear and compelling" of my original post. However, I defend my use of those terms. Clear, in this context, means "free from obscurity or ambiguity". Something is compelling if it drives you to act. I think someone pointing a gun at my head is both clear and compelling. "Clear and compelling" does NOT mean beyond all metaphysical doubt.
-Jordan Henderson
So, because there it is heavily politicized and there are biases, we can't act reasonably? I reject this.
Does this mean we have to act unreasonably? To overreact in ways that cause more damage than they address (I gave two examples, Asbestos cleanups and MTBE).
The alternative to acting on clear and compelling evidence is acting on ambiguous and unconvincing evidence. I suppose you favor acting on the evidence of any crackpot that comes along?
Actually, the total disappearance of the ozone layer would be clear evidence of something, I suppose, but without other causal evidence it wouldn't be proof that industrial humanity had anything to do with it whatsoever. I'm glad you gave this as an example, actually. When the world was confronted with clear and compelling evidence of damage of CFCs on the ozone, Industrial Societies acted dramatically.
Clear and compelling evidence was presented and people acted reasonably.
I only buy insurance when it's clear and compelling that there is a risk that it covers. I suppose you buy insurance against alien abduction (you can!) and other unlikely events?
Besides, there is also a risk in henny-penny anti-industrialization. What if we are unable to fend off a killer meteor in a few hundred years because we de-industrialized as "insurance" against the possibility of environmental catastrophe?
I agree we need to act "appropriately". To my mind, this involves collecting evidence and establishing cause and effect. That's what I was addressing in my post where you found it so necessary to mince the words "clear and compelling". Apparently, the author of the article felt that collecting evidence and establishing cause and effect was too great a burden.
-Jordan Henderson
From the article:
Uhhh, how do we know they are the "most difficult environmental challenges" or whether they are being "adequately addressed" if we haven't collected evidence and established cause and effect?
I'm not against doing sensible things to improve the environment, but the heavily politicized environment we have today makes reasoned action almost impossible.
Some examples:
We must not take steps to fix environmental problems before there is clear and compelling scientific evidence. Any other course would be the recommendation of someone with severe adolescent lead poisoning.
-Jordan Henderson
No matter how good the product, how unobtrusive it is, how polite they are, they are still filling up my mailbox with ads.
Now, I get a lot of ads in email from companies where I have explicitly giving them permission to send me such, often in exchange for something nice like an informative newsletter, or a CD with something of value. My time is valuable, and I don't give it away for nothing. Hmmm... I do however waste it posting on /., so I'm not entirely consistent here.
The difference is that I've asked them to send me ads, it's not UNSOLICITED email. Spam = UCE => Unsolicited Computer Email. In these days of banner ads, there is hardly any argument that a company NEEDS Spam to get my attention.
I always always always junk all Spam (and much of the solicited ad email). If you ever give into the urge and do check out the Spammer's offerrings further, you are just encouraging them (as a class, both "legitimate" and otherwise) to fill up your mailbox with garbage. If everyone deleted all Spam there wouldn't be a Spam problem and we wouldn't need legislation or filters.
-Jordan Henderson
CT, you've really brought up one of my pet peeves. I hate it when the 900 number have typos... uhhh, not that I ever call those things... Just checking them out so that I can collect information for my Anti-SPAM lawsuit, you see... Yeah, that's it, collecting information!
-Jordan Henderson
I guess the problem is that I feel that often trolling is justified and makes a point. Must we be limited to discussion that is not heated, that is not insulting, that doesn't raise anyone's anger?
When I moderate I only mark something as a troll if it's clearly a troll AND it's clearly off-topic. Maybe I should mark it as off-topic instead of troll or flamebait. I guess without the troll and flamebait Moderations there are those who would fill up the threads with nothing but nasty insults that are only very marginally on-topic.
This whole thread is off-topic, in a way. I wish there was a place here for an ongoing discussion of Moderation and Meta-Moderation. These things should be discussed. This thread is on-topic in that it's in the discussion of an article on which people seem to have a hard time being "objective" with their Moderation.
Objectivity in Moderation is unrealizable. The "Insightful" Moderation implies subjectivity, for example. I do feel that there are many who use Moderation where a reply would be more appropriate. If you don't agree with something, reply, don't Moderate down.
-Jordan Henderson
Seeing as the current mess is the result of Microsoft completely ignoring the provisions of the 1995 consent decree with the DOJ, how could the DOJ ask for anything less than such oversight.
Microsoft has, time and again, shown their utter disregard for the law and the process. Judge Penfield has demonstrated exceptional restraint in not slapping the MS lawyers with contempt charges and moving toward summary judgement after they willfully and brazenly were shown to be manufacturing evidence in the form of the videotaped demonstration.
-Jordan Henderson
It's more than suggested. From the quoted article:
I would assume that, in this architecture, if you change one of the instances, it creates a new copy and does not modify the original file. This would allow you to have only one copy of a configuration file that needs to be copied to each user's directory for possible customization and only have the extra copies made if someone did, in fact, customize. Can anyone out there who really knows about Single Instance Store care to comment?
This is significantly different than symbolic links. It involves symlinks, but it's more than that. I'm not sure if it's really a big win, but it is different.
It seems to me that it's usefulness is an artifact of how difficult it is to manage Registry entries. Every application has Registry entries that point to application (configs, executables, dlls, etc.) files. You could always create user's common files with Registry entries pointing to a common copy and then modify the Registry entry to point to a local copy when you went to customize the user's environment. Of course, having the file system "recognize" this is in some ways more convenient. It also leads to redundancy of functionality (both the Registry and the Single Instance Store have a way of consolidating common files).
It seems that the Single Instance Store could be considerable overhead. For example, if I change a configuration file and get a local copy (if that's how it works, if that's not how it works I don't understand how Single Instance Store can be useful at all), does the Single Instance Store scan all of the files in the system to check if there's an exact copy of my new file somewhere? Does it have to make this scan continually for all changed files? Is it "lazy" about creating Single Instances in the case of transient files that are being opened/closed and updated frequently that just happen to be identical for a short period of time?
What would be really cool is if similar files were maintained as diffs from a single base file that were automatically applied on reading. Would this be an attribute of a log-structured file system? Or do current log-structured file system designs not include provisions for consolidating multiple files like this?
-Jordan Henderson
The US Constitution prohibits taxes, levies and duties on items imported/exported between states. Duties, levies and taxes between states was one of the primary problems with the Articles of Confederation (that the US Constitution replaced) which formed the first Federal US Government. The States started all sorts of nasty trade wars.
Not that anyone pays much attention to the US Constitution any more but...
...
No Tax or Duty shall be laid on Articles exported from any State.
...
Article I, Section 10
...
No State shall, without the Consent of the Congress lay any Imposts or Duties on Imports or Exports, except what may be absolutely necessary for executing it's inspection Laws: and the net Produce of all Duties and Imposts laid by any State on Imports or Exports, shall be for the Use of the Treasury of the United States; and all such Laws shall be subject to the Revision and Control of the Congress.
...
-Jordan Henderson
With the advent of TCP/IP net-appliances (printers, file servers, etc.) it's hard to see where a no TCP/IP network would be recommendable for even a tiny PC network today. Even if you don't have any such appliances now, you make it more difficult to set up and use later. You also couldn't take advantage of Intranet web-based apps on a non TCP/IP network.
I do agree with other posters who see some value in this.
Some have said that its faster than TCP/IP. If this is true, perhaps it could be used for a high-performance on-the-cheap file server for Windows machines. Imagine a box with a minimal Linux kernel, easily swapped cheap HDs/tape drives/CDs(ROM/RW)/other handy networkable storage, fast ethernet. True, you can't route the file server traffic, but the market would be for low-cost high-performance workgroup storage sharing. Might be good to serve a Windows Web-Server farm, for example.
I guess the big downside would be that if you excluded TCP/IP completely, you'd miss out on the TCP/IP remote administration world.
It's paradoxical. The biggest reason I see for not setting up Netbeui-only networks is that you can't take advantage of the emerging TCP/IP appliances, but on the other hand it might be really good for appliance machines.
-Jordan Henderson
From your FAQ, it appears you have strong opinions on the relative merits of C vs. C++ for most applications. I quote, in particular:
Not in my opinion. I never saw a project for which C was better than C++ for any reason but the lack of a good C++ compiler.
Do you have any idea why C++ was rejected as the implementation language by the most experienced C programmers, those folks now at lucent.com (Dennis Ritchie, Rob Pike, et al), for their most visible projects, Plan 9 and Inferno?
Surely, these people had access to a good C++ compiler.
If I may have a follow up, but closely related, question. Was the division of the Bell Labs Research staff between Lucent and AT&T related to a division of opinions concerning C and C++?
-Jordan Henderson
I also hear that a 1.1 is coming out soon.
-Jordan Henderson
This does seem to me to be a way to sell more C++ Builder at the expense of some amount of C++ Compiler licenses. Note all the mention of C++ Builder on those pages.
Unfortunately, it may well hurt the truly open C/C++ compiler for Windows, cygwin. In this regard, it can actually be viewed as a net loss to the Open Source Community.
-Jordan Henderson
I agree. I'm all for stronger European nations. The true Democracies don't involve themslves in wars.
I'm not concerned about a strong Europe. I'm more afraid of a weak one.
Well, I'm sure that "you Europeans" hate being painted with a broad brush as much as people in "The US" do.
I do know a lot of people who wonder why the United States bears the brunt of responsibility for fighting wars that, if there were any equity, would be at least as much Europe's responsibility (Kosovo, The Gulf War).
I'm don't think that "fat and lazy" are fair characterizations of Americans as a whole. We work more hours than Europeans and I think we can be proud of our many high technology achievements. I've worked in Europe and I didn't notice people working any harder there than I see in the US.
But, if Eurocentric bigots want to look down their noses at us, I doubt that any arguement I could make would be of any help.
Yes, Americans are clever the way we force all those European TV networks to carry Melrose Place. Face it, nobody forces American culture on anybody who doesn't buy it.
The only coercion I see in cultural matters is how various governments around the world forbid American (and other foreign) culture from being allowed in their country because given the choice, the people might freely choose the foreign culture.
-Jordan Henderson
OK, here it is:
Now, Who paid for this test, hmmmm?
Oh, it's right here, right in the first paragraph, it was Novell. I see.
Gee, I thought it was going to be like buried in the back somewhere or someone was going to point it out later, that the tests were paid for by the vendor. You know, just like whenever there's a favorable Windows benchmark.
I'm pretty surprised to see unfavorable Windows benchmarks at all, actually. With the standard MS license that forbids you to publish benchmarks for the product. I wonder why they have such a clause?
-Jordan Henderson
I'd much prefer it if the aliens would release the NASA heads to the public.
-Jordan Henderson
Providing that:
a) you actually know the language, and
b) the code was written by someone who actually knows the language
You should have zero problems with readability. Remarkably enough, the above applies for nearly every other programming language.
And I'm sick of all these dismissive oversimplifications of a complex issue.
Some languages lend themselves more to readability than others.
Admittedly, readability has as much to do with the reader than it does with the writer, but there are some attributes of a programming language that make it more readable when the readers are most human programmers who might try to modify code.
For example, I can parse and completely understand the semantics of simple aritmetic more easily than I can most English prose. This is true, even though I spend probably a minumum of 1000 times more time practicing writing and reading English than I do with arithmetic. Thus, it's not a matter simply of experience with the language.
English prose is far more expressive and powerful and completely contains all the expression and power of simple arithmetic.
The TIMTOWTDI nature of Perl leads to a lot of different ways to express a program. To understand the semantics of a Perl program one might have to think in a number of different idioms. Depending on the original author, the different styles and idioms might cover a large subset of the language in a given program, and Perl is a "big" language, with lots of odd corners.
Here's an extract from a discussion I was involved in a few years back in comp.lang.perl.misc with none other than the redoubtable Randall Scwartz that I think helps illustrate the point I'm trying to make:
>>>>> "Jordan" == Jordan Henderson writes:
Jordan> For example, say I want to extract preformatted text from an HTML
Jordan> file. Note that this is not a general purpose preformatted-text-
Jordan> extractor, but it's handy for files where I can guarantee the
Jordan> format (in a case where I wrote the original HTML file with another
Jordan> program, for example):
Jordan> while () {
Jordan> last if
Jordan> }
Jordan> if (eof) die "HTML format bad, couldn't locate preformatted text.";
Jordan> while () {
Jordan> last if
Jordan> print;
Jordan> }
Jordan> if (eof)
Jordan> die "HTML format bad, couldn't locate end of preformatted text.";
Jordan> Is there a better, clearer way to do this sort of thing?
I usually write something like this:
$found = 0;
while () {
$where =
$found = 1, print if $where;
last if $where =~
}
die "we didn't find it!" unless $found;
print "Just another Perl hacker,"
--
Name: Randal L. Schwartz / Stonehenge Consulting Services (503)777-0095
Keywords: Perl training, UNIX[tm] consulting, video production, skiing, flying
Email: Snail: (Call)
PGP-Key: (finger merlyn@teleport.com)
Web: My Home Page!
Quote: "I'm telling you, if I could have five lines in my
Now, I was somewhat of a Perl newbie and I'm still nowhere nearly at the level of a Randall Schwartz, but I had a hard time with Randall's answer at the time. I was familiar with the .. operator, but had never used it.
I still feel that my original attempt using the eof operator was simple and very readable. I also love the elegance of Randall's solution.
See, I like Perl, I really do. It's very expressive. Randall's solution points to many other opportunities for good use of the .. operator. I don't think it's the most readable, in this case.
There's the rub. The most readable solution may not use the most expressive idioms. Readability isn't the only criteria on which to judge a work. Shakespeare is harder to read than Suess, but I don't want to be limited to a Suess-like style in my own writing
However, I'm sympathetic to the camp that seems to believe that computer languages should not have the same ambiguities and expressive power than natural languages. In some settings, it may be more productive to use languages with a more limited selection of possible idioms.
For example, I might prefer that an Air Traffic Control system be written in Ada rather than Perl. I want the maintainer of that code to be able to immediately and completely grasp the semantics of the code in front of him or her. I want the maintainer to be immediately comfortable with the style and choice of idioms.
Horses for Courses. Perl still excels in it's adaptability, it's functionality and it's expressive power. Python may excel in simplicity, it's applicability to programming language education and it's readability. I don't actually know Python so forgive me if I misrepresent it.
I'm glad I have simple arithmetic for some things. I'd hate to have to express number problems in English. I prefer "2 + 17 = 19" to "Two plus seventeen equals nineteen."
-Jordan Henderson
Maybe I'm a Jargon archeologist, since I can't find this on Web searches and deja.com only has my own reference to it I made awhile back, but I distinctly remember the term ATWAV being used a lot Usenet in the 86-89 timeframe. You'd particularly see this on comp.lang.c. I know what it means, but maybe I dreamed the whole thing as you'd think that it would show up on a web page somewhere.
I'm really surprised that it doesn't seem to be on the Web now... Does anybody else remember ATWAV and what it refers to?
-Jordan Henderson
All you've shown is how the GPL protects the IP of the FSF (or other copyright holder who release under the GPL), not how it "confiscates" (your word) other people's IP.
Confiscation has a very specific meaning. It means to take. You agree to give your work to the community when you modify GPLd sources.
This is some kind of fantastic inversion of the Trotsky "property is theft". In your view, "property is theft" if that property is not allowed to be put to commercial use.
Not so. GPLed software has zero market value, since it is available for free to all users. Therefore, programmers should be able to use it completely freely in their own work, whatever that work may be, at no charge and with no obligation. Why does the GPL begrudge them this? Because by doing so it undermines their livelihoods.
Boy, this is a bizaare world view. Because something has no market value it should be allowed to be appropriated? The Washington Monument has no market value. The one existing smallpox virus sample has no market value. Nuclear Weapons (by law at least) have no market value. My children have no market value. I guess you advocate that these can be abducted and used for whatever purpose that anyone wants "at no charge and with no obligation" because they have no market value?
The GPL denies certain uses because that's what it was designed to do. The purpose of the GPL is to build up a body of work to be shared by the community.
Does a commercial source license "deny" certain programmers their livelihoods because they can't modify that source and sell it?
-Jordan Henderson
I've addressed this elsewhere, but it bears repeating.
Stallman does not advocate the confiscation of anyone's intellectual property.
IP exists as either copyrights or patents. The GPL does nothing to appropriate someone's copyrights or patents. It's the programmers who are not allowed to "confiscate" the IP of the GPLd work when a copyrighted work is covered under the GPL.
Show me one instance where someone's else's copyright is confiscated via the GPL.
-Jordan Henderson
A comment on the Subject line. The GPL does NOT force forfeture of IP. IP only exists through a copyright, a patent or a trademark. You don't hold any of the above on a GPLd work that you modify, unless you hold the initial copyright (in which case nothing is forfeited). How can the GPL force forfeiture of a property right that you didn't hold?
Sharing has several meanings, one of which is identical to 'giving' which is the meaning you are using. The meaning GPL advocates use is "to partake of, use, experience, occupy, or enjoy with others". The sharing in the GPL involves a community, a community that gives back.
Most people recognize a moral responsibility to give back to those who share. Sharing the blessings of liberty morally implies giving them to others. This recognition is what motivates people to give back under the MIT X license or BSD license.
RMS noticed that some people were taking advantage of the free work of others without sharing. That's not sharing, that's taking. He developed the GPL to correct this. If you don't intend to not share, it's not restrictive. This is exactly the agreement that all other contributors to GPLd software made their enhancements. Seems symettrical and fair to me.
This is an absurd hyperbole. Most individuals don't contribute the majority of the work in any single GPLd work (if they do, they are probably completely philosophically aligned with the FSF movement). It's more like saying "Here, have a car, a house, my bank accounts. Just let me have use of them, also, and you can share in all the improvements we make to them."
More ridiculous exaggeration. Nobody is asking anyone to sign a contract to give up their livelihood. The contract implies that you can't make your livelihood off of selling derivatives from this particular piece of software. Exactly no different than many commercial source licenses, but nobody talks about being denied a livelihood there. With GPLd softwaer can still make your livelihood off of contracting to those who need changes made to this software, or supporting configuration of systems using this software.
RMS is hardly a good analog to the antagonist in Faust. RMS writes lengthy diatribes, easily available, clearly stating that the profit to be made off of GPLd software is not in it's sales. The Devil tried to downplay and hide the consequences of signing his contract.
-Jordan Henderson