You've never done any serious amount of driving in New England.
This isn't a wild guess as you might think, it's based on the fact that no one outside NE can get their heads wrapped around the utter stupidity that is our near-total lack of street signs (except for major roads, and even then, cross-streets are rarely labled.
See, I told you you wouldn't buy it. It's just so mind-numbingly stupid that no right-thinking person who doesn't live here can accept it without seeing.
There's a historical reason, of course. In World War II, the east coast took down most street signs so that -- don't laugh -- if the Germans invaded, they wouldn't know where they were. Ironically, it was the same basic mentality as disabling GPS.
After the war, most communities put their signs back, but because New England roads are, on average, so short and even change names frequently, the cost would have been astronomical. So, the states only funded putting "essential" signs back.... the expenditure model stuck...
Go easy on people who need a GPS to know what street they're on. In NE, it might be all you have:-/
Re:Most companies aren't asking the right question
on
CIOs Looking At OSS
·
· Score: 1
Other sources:
Organizations that need and are willing to fund the creation of a tool (or set of tools) for their own use: MIT X/Window System, many monitoring systems
Standards organizations which need a reference implementation: lib
Darwin and netscape actually don't fit in where you think they do. The goal with Darwin was not to boost market share by open sourcing. That would be a huge gamble, and one not evidenced to work. The goal was to absorb a large code base and attract developers willing to support it, thus lowering costs while improving the product. This is the win/win of open source, and there's a gigantic track record to suggest that it works.
There are quite a few more, and many special-cases of each.
IMHO, you should open source everything that you do if it isn't your core competency, but you should do it in a smart way. Extend existing projects, set up or arrange hosting for your own so that others can easily contribute. Arrange conferences around your micro-market which will allow multiple companies to collaborate.
As soon as Pepsi, Proctor and Gamble and GM start looking at the software they write, they're going to find that there's duplication of effort, not just between them and their competition, but among thier own business units. The OSS model helps here too, as it frees up the organization roadblocks that prevent collaboration. Grab a sourceforge server, set it up for your company and invite everyone with a pet project to create a project area. You might be amazed at the results (assuming your company is large enough that it suffers from these sorts of communications problems).
Come Perl 6, of course, you'll have the best of both worlds:
$data = STDIN.getlines().join(''); if ($data =~ qr{ ^ (<xml>) $ }) {
my XML $parsed = $1;
if (my $n = $parsed.findnode('sometagiwant')) {
print "Yep, it's there:\n$n\n";
} else {
print "Failed to find sometagiwant\n";
} }
And depending on what you want (memory vs speed) your "xml rule" in that regexp can do whatever annotation, datastructure building, etc that you want.
Most companies aren't asking the right questions
on
CIOs Looking At OSS
·
· Score: 5, Insightful
Ok, first, deciding to use Open Source software is a non-descision. You should be using the software that best suits your needs in terms of cost/benefit. If that's Red Hat Linux, then fine. If it's MacOS/X, fine. If it's Windows XP, fine.
What you really need to be asking is, how can participating in Open Source help my business? As an example, it's been said many times, but bear repeating: most of the lines of code written in the world are written for internal projects within a company and never see the light of day. Many companies don't release such code because it's a one-way operation. You release it, your competition uses it and you get nothing in return.
Now that the OSS model is blossoming, it's possible to create micro-markets for software that would otherwise never have seen the light of day. Anyone who starts this process will soon discover that there's something amazing that happens almost immediately. Code gets cleaner (the old "well if someone's going SEE this" reflex), documentation gets more extensive, people start thinking about modularity and interoperation. New ideas start moving around and soon, you're partially funding a very efficient software micro-market rather than fully funding your own in-house effort that just evolved over time as a tumor on your business.
You can now start to do things you would never had dared. You can investigate large systemic changes that would have been too costly before. Bug fixes happen faster. Software starts to be *released* in a reasonable way (heck, you might even have a reasonable handle on what features are upcoming and when to expect them).
This is the true power of OSS. Replacing your desktop or server OS is just a side-benefit.
Interesting. Yeah, TV SF (heck, a lot of print SF) as this fascination with the "captain/king" figure that gets a little sappy after a while (I mean how many King Arthurs do we really need in our story telling?)
Still, I liked the basic model that Farscape was following at first. I liked a lot of the little angles (like the species that looked like humans but had totally different biochemistry, the peaceful plant-as-druid, even sparkey amused me to an extent), but after a while it got way too campy for my tastes, and they went WAY overboard on leather. Does EVERY new species have to look like a model from B&D Monthly?
Still, fun show at first, and I can see why loyal fans would stick by it. Hopefully if they succede, the writers can be set loose to do what the story needs and some of the obvious network fiddling that has happened can stop.
[side note to SHEENmaster first: you're on my foes list, and I don't know why, but one more post like this, and you're off;)]
I don't agree with your choice of examples (Sliders was a cool idea, but quickly devolved into bad story telling), but I agree wiht the sentiment. Let me explain Farscape for you, since you're not familliar with it, and hopefully explain why people (not me) care about it so much:
It's something like Buck Rogers. Guy from earth gets sent "away" (space in this case, not time) to a place where there are all manner of science-fictiony things to contend with. It's a classic culture-shock setup, which is a very common tool in SF and other genres as well, as it allows you to tell the story with your protagonist being the "everyman" that people can relate to.
Here are the things that have kept people watching Farscape: 1) really alien aliens including one who is totally non-humanoid (a ship) 2) the theme of the show seems to be exploring how much you can mess with the protagonist's brain before it turns to jello, and some people enjoy such story telling 3) the story evolves. Not in a B5 way where there's an end-point your moving to and a story arc on the way, but more in the Buffy style where things are allowed to change season-to-season.
Woefully for me, the most important part isn't there: writing. It's ok writing, even good writing by television standards, but I find it hard to get into a show unless the writing is exceptional, and Farscape's is not. It had some very good ideas, and ideas are fun. If they had structured it as more of an anthology, I might have watched. As it is, I watched a couple of seasons when they repeated, got the pattern (alien messes with John's mind, John acts crazy, crew acts suspicious, John quotes movie/TV line and gets better/kicks alien's ass). That was enough for me.
I'm not saying it's a bad show, just that I'm not on board with the idea that it's worth saving.
And if spending money in order to maintain or improve (as they see it) the standard of story telling in our culture (and TV is the primary story telling vehicle in our culture) isn't "getting a life", then what, pray-tell, is?!
One could argue (and I would not be the first), that story-telling is the most important attribute of what we do in our lives, as it's the primary way that we can affect future generations (child rearing asside). I won't argue that because I have other opinions on what's valuable in life, but I certainly would not scream "get a life" at anyone who's willing to get off the couch and organize and effort like this!
TV is an odd bird, and more so in the last 15 years as cable networks have exploded onto the scene.
Listening to people like JMS (who you mentioned, but did you know he's written an excellent screenwriter's guide for TV and movies that goes into a lot of the politics and how to deal with them?), Joss Whedon, Aaron Sorkin and others who have managed to sneak quality television in, I'm convinced that there's a formula for getting good television on the air.
Woefully for us, you're right: it has nothing to do with the fans per se, and once it stops going our way, we have little hope of changing it. It has to do with good writers (writers in TV are like directors in movies, they have a lot of power if they use it right) who have the organization skills and drive to produce (in name or function) their own shows, and a massive focus on good timing. You really have to pick a network thats brand new or established but on the ropes (even if just in one particular time-slot) or re-inventing themselves (e.g. Showtime and Sci-Fi in recent years).
Crusade was a great counter-example to this. Straczynski ran into an established network (TNT) that didn't have any major problems to solve. That meant that internally, there were too many little drones running around trying to find ways to be useful and justify their jobs. The way he describes it, the folks in Hollywood were practically fans of his (some actually were) and they let him do his thing, but he was constantly assaulted by the folks back at the home office in Atlanta who wanted to expand the demographic of the show, and make it match their existing audience (WWF fans as you point out).
No fan can tell those execs in Atlanta to piss off, because they're convinced that there's more gold inside the goose than the few paltry eggs it lays each season. They want to cut it open, re-structure it and sell it out for condos! That's the mentality you're dealing with, and it's only broken when there's change... you have to seek out that change. To many, JMS seemed pig-headed around Crusade, and I felt that way at first, but I realized after a while that I'd rather have the show go away than have 7 seasons of B5 meets VIP:-/
And, had the original poster made such a clear go at the terms and still felt that there was a specific legal problem, I would have been happy to entertain it.
In fact, I'm not entirely sure how Red Hat would defend this one in court. They could say that, of course, they cannot restrict your copying, modification, use and disclosure of the binaries or source that came with the system and of which RH is not the primary copyright holder because of the terms of the GPL (RH is required to agree to the GPL or only distribute GPLed programs in accordance with copyright law); however they will not allow such copying, etc of the WHOLE SYSTEM which includes non-GPLed parts owned by Red Hat. I could see that, and it would make a strong case.
My guess is that Red Hat (if they're as business savvy as they have proven to be thus far), couldn't care less. They know that large companies will comply with the terms of the EULA. After all, the main reason for buying the software is the support, not the packaging or the CDs. If they get caught violating the terms of the support, they suddenly lose it, and that would suck. When I worked at Fidelity Investments with free software of various sourts, one of the most common questions was, what do we do if it breaks? If someone like Red Hat had been around then, we would have had no problems (as it was, it just took some explaining of the savings over proprietary systems, and how many admins that would buy in leiu of third-party support).
The problem with answering your question is the "A" in "NDA". That is to say, an NDA is just an agreement, and what you agree on is roughly non-disclosure. While there are many "boiler-plate" items that go into most NDAs as a result of various precidents, they're not a uniform lot.
This is very important to keep in mind when you are asked to sign such a document. Just because someone told you it was an NDA doesn't mean that it matches your assumptions about the scope of such a document! Most importantly, never let anyone convince you that you have to sign such a thing quickly. The phrase, "I'll have to read this over and get back to you," should be universally accepted, and if you're pressured to sign quicky, simply refuse and ask them why they did not inform you that you should have a lawyer present to expedite such matters.
If you sign an NDA, that *should* mean that you've read it, and if you've read it you should have a general sense of what you've agreed to. If you don't you should ask questions and/or hire a lawyer of your own to read/explain it before signing, and/or request alterations if required. I've altered a few NDAs and NCAs in my day for reasons varying from over-restrictive clauses that would have made my free-time open-source work my comany's intellectual property to simple incompatibility with my role.
Now, getting to your question a little more directly. There are three basic kinds of intellectual property that I'm aware of as a non-lawyer: copyrights, patents and trade secrets.
Copyrights and patents are not secrets, so disclosure is not the issue with them (though a patent might start out life as a trade secret).
When you sign an NDA, the basic assumption is that you're agreeing that some set of trade secrets you are about to be exposed to will continue to be trade secrets now that you are a party to them. You're being brought into the community of holders of that secret.
If that is the extent of the agreement (no matter how wordy it is), then as soon as the information stops being a trade secret, you are free from this obligation. That's a vast over-simplification, of course, but basically that's how it works.
Some things I've skipped over:
1) there's quite a lot of complicated precident for how a trade secret stops being a trade secret, so don't assume that hearing information from another party means you're free unless you know what constraints THEY might be under
2) there's a term I'm forgetting, but there's the idea that when one part of a contract expires or becomes meaningless, it all does unless the contract says otherwise (that may or may not be state-specific). This has resulted in a piece of boiler-plate that most contracts have now that specifically says the opposite, so be careful about things like giving out secret A because secret B is now in the public domain
3) it's probably a good idea to send (or better, have a lawyer send) an letter to the company that you have the agreement with, notifying them of your understanding of the situation. You would be amazed at how many misunderstandings can be cleared up by talking to someone before you procede on an assumption.
Like I say, I don't have any sort of legal training. I've been through a lot of NDAs and NCAs, so I understand the basic idea, and I've asked my lawyer (usally a lawyer friend, not someone in my employ) this sort of thing before. Take it for what it's worth and ask a real lawyer.
Thank you. First voice of reason I've heard. Sometimes I honestly think that most Slashdot readers would only be happy if Red Hat went back to selling $10 CDs.
I can migrate to Slackware or Mandrake or Debian silently and avoid the redhat screwing.
How, exactly are you screwed? What did you lose?
You still get source with Red Hat.
You can still download and burn ISOs of their software.
When I got started in the biz, I would have given an eye-tooth for a company that would provide an OS on just the above 2 terms, but there's more!
You can still get access to security and bug-fix updates for free.
You can pay a small fee to get automated access to the above updates, but there are also equivalent free services from third parties (see freshrpms' apt-rpm service). This is essentially a free service, which RH is covering network costs on. Everyone knows you don't *need* to sign up for RHN, it's basically there as a way to say thanks.
You can pay increasingly larger fees to get increasingly larger services. This is a no brainer. Any company that doesn't give their customers the option of paying as much as they like should be taken out to the street and fed to the pigeons.
This is a sound and reasonable model, and it does not take your shiny toys away or cause you to lose access to something you once had.
Why is everyone flipping out because Red Hat has added a pricing structure for upper-teir enterprises that is on-par with every other vendor? Should we all act shocked that a company doing business in the U.S. is actually trying to make money? Should we run around pretending that they're now somehow "evil" because they are making money?
At a higher level, why is there this slashdot knee-jerk reaction to any announcement concerning Red Hat? They come out with bluecurve and they're bad guys. They charge for automated access to RHN and they're bad guys. They announce an expensive product and they're bad guys. I swear sometimes I honestly think that if Red Hat donated a million dollars to fund cancer research the Slashdot headline would be "Red Hat Snubs Diabetes Research"!
Funny you should say that. I learned the basics from an Isaac Asimov essay when I was in High School. The math and physics were cut down to analogy, but that was required to fit it into a 20-page (or thereabout) essay.
I think Richart Feynman proves the case that you can take that to the next level and teach all of the remaintain detail in ways that the average human can absorb.
I assert that you can "Asimov" each every aspect of a complicated topic like knot-theory down to a 20-page essay to the point where, given an encyclopaedia of such essays anyone could learn the whole topic.
And here's the kicker... if you really understand the topic, you should be able to recite that encyclopaedia. If you don't then that's ok... you don't understand it completely, and that's the boat most people are in. There are one or two topics I feel I have down this well, and when you do truly understand something, top-to-bottom, it's a different ballgame. You can actually TEACH it to someone else which means that you can guide them through learning about it, not just point them at the right ISBNs.
If you have a problem with Perl's nomenclature, take it up with the Perl developers, not me.
That would be me. I did. I agreed with me. If you don't want to trust my take on it, feel free to contact Larry, his email address is easy enough to find. I believe that he's also spoken at great lenghths on his feelings for why Perl needs to go to Bytecode execution in version 6 on the mailing list (you can find perl6-language archives in several places). That would be another good source of information about the fact that Perl 5 does not execute a bytecode represenation like Java and Smalltalk.
However I was wrong on one point (and my appologies to Malcolm for having forgotten much of his fascinating work on "B", Perl's "b"ytecode backend). There *is* a bytecode representation of Perl. It's available through the moudle "B::Bytecode". Let's see what Malcolm had to say about it in his documentation:
This compiler backend takes Perl source and generates a
platform-independent bytecode encapsulating code to load
the internal structures perl uses to run your program.
As you can see, Perl does not use bytecode internally, but *does* have a system for generating it on the fly for cross-platform communication of pre-compiled programs (e.g. producing something like a binary). Essentially this is "serialized" Perl, to use the popular term for such things.
It's not something that Perl knows how to execute, but there are modules that can turn it back into Perl's internal syntax tree, and thus you *could* clock an "execution time" for Perl's byte-code (it would be better than parsing a text program). Calling this Perl's internal representation is no more correct than calling the original text an internal representation.
Now, on to your other comment, "As for your other points, they are both trivial and irrelevant."
If you look at what I originally said, I did not refute performance statistics (no matter how vague and relative they were) or any of your other core points. What I said was that you had obviously not done any research on Perl before you cited performance information about it. In all cases that I can think of (be it for clocking programming languages, operating systems, databases, etc, etc) that's a fatal flaw. I would not trust performance numbers concerning Linux from someone who didn't know that Linux uses a modular variant of a monolithic architecture, why would I trust performance numbers re: Squeek and Perl from someone who doesn't know that Perl doesn't use a bytecode back-end for execution?!
You may be a very smart person, an excellent programmer or a Nobel Prize-winning politician, and I'm not calling into question your sexual prowess, but unless you get a lot more specific, and the details mesh with reality, I'm not going to take your word on these performance measurements, nor should the rest of Slashdot. Sorry, but there's just too much misinformation floating about and the last thing we need is to add to it.
Please understand, that I have no interest in a language war. Squeek sounds interesting, and given that I'm working on developing my own programming language (a Perl-derived language called Sand), I should probably check out Squeek and see what it adds to the collective state of the art.
Perl is a very interesting language, and while I think it's ultimately doomed to fall by the side of the road, it will be interesting to see what effect it has on the convergence of dynamic (e.g. LISP) and static (e.g. C) programming languages. I think the answer is going to be that concepts like lambda functions/closures and dynamic variable naming will become a part of more mainstream languages.
The perl bytecode engine is not exposed to the ouside world.
That would be because Perl does not have a bytecode represenation. Perl 4 and 5 (I'm not sure how far back, I'd have to look at the 1-3 sources) use a syntax tree that stores code and data in roughly equal ways. A bytecode represenation would look more like machine code (as does the Parrot bytecode which is the proposed back-end for Perl 6... Parrot is brand new, and has never been use for Perl code before).
Perl is moving to a bytecode model, but it has never used one.
You provided two references (probably based on a google search). The first is just plain wrong in that it compares Perl's intermediate form to Java's bytecode. Java uses a pseudo-machine code known as Java Bytecode, which is interpreted by the JVM (Java Virtual Machine).
The second is more accurate in that it simply uses the term bytecode in a slightly inaccurate way.
Bytecode, is a structured representation of a program that resembles machine code. In fact, you *could* call machine code, "hardware interpreted bytecode".
Perl does not use an intermediate form like that (at least not now, there are plans to use the Parrot virtual machine for Perl 6, but since nothing but a crude implementation of the early draft of Perl 6 exists, I'm not counting that).
Perl uses a syntax tree internally, which it directly optimizes and then executes. A syntax tree is a data structure which contains all of the operations and data in your program as relatively equal citizens. It's a very different model form bytecode, and has different performance and optimization implications. Most Java compilers use a syntax tree representation during compilation, but then output a bytecode representation for the virtual machine to execute (and then as a final step, most modern JVMs include a translation of the bytecode to machine code for final execution, which is known as JIT or Just In Time compilation).
In any case, I was merely comparing the speed of the interpreters anyway.
Just so! To compare the speed of a byte-code compiled language to that of a more classical syntax-tree based compile/execute language is as off-the-wall as comparing a true interpreter to a byte-code compiled language (for an example of a true interpreter see Bourne Shell or older TCL implementations).
Re:Does anyone else get the feeling
on
Opencroquet
·
· Score: 3, Insightful
The real question is, scale UI complexity to *what* levels?
There are a lot of folks who will arm-wave at the idea of 3D UIs. I've yet to see a 3D UI that a) renders on current 2D screens and b) provides any significant advantage over the 2D concepts of window-stacking, iconification, virtual screens and alpha-channel blending.
Some of these concepts are still in the "time to market" stage (e.g. alpha-channel blending), but given their application, the idea of tracking UI objects in three dimensions (which increases memory usage) isn't really going to buy you much.
Take a look at the screen-shots. Squint. Try to convince yourself that you're looking at a rendered background with several overlapping windows. Now ask yourself: do the addition of perspective and a z-axis for window movement improve the situation, or just add complexity?
That's the key point that a lot of folks are missing. It's not about the source!
This suit primarily centers around the idea (this is a wild paraphrase of a bunch of legalese) that IBM disclosed trade secrets of USL (once part of Bell Labs, then AT&T, then Novell, then SCO, then Caldera, now SCOgroup) through their work on and contributions to AIX and Linux among other projects.
So, in that light, Linus is a vastly qualified individual for expert commentary because a) he knows exactly where many (not all) of the concepts in Linux came from b) he is more aware than the vast majority of people who have touched Linux when certain ideas fist entered the mix, and thus how much influence IBM had on them.
c) is a bit more complex. SCO claims that Linux and other open source projects could not have developed the advanced features that they have as quickly as they have without benefiting from UNIX's trade secrets. This is a nebulous claim at best, but I think you'll see that Linus has a very good basis for destroying any such claim by pointing out the large number of innovations that happened before IBM got involved and the large number of innovations that happened after IBM got involved that they did not contribute to.
Linus is probably one of the 3 to 10 most qualified "expert witnesses" on the Linux portion of this suit, and ultimately probably the most damaging witness that IBM could bring to bear (even pre-trial).
SCO (aka Caldera) has their own take on this on their Web site. They explain what SCO's new SCOsource division is...
"SCOsource is a new division in SCO. Its purpose is to license and protect SCO intellectual property."
That is to say that their job, like the job of every part of a company, is to contribute to the bottom line.
"SCO is the owner and licensor of UNIX System V operating system technology which originated in Bell Labs in the 1960s and has been evolved and enhanced continually since its introduction."
This is almost true. In reality the UNIX System V codebase has stagnated in the last 5 years because no one really cares.
"SCO is also responsible for licensing and enforcing all copyrights and patents associated with this technology."
An interesting angle. Almost a "hey, we don't *want* to go around suing people, but it's our responsibility to... well, us." That takes some major meatballs.
"Of course UNIX technology has been licensed since its inception, starting with the original licenses offered by Bell Labs, through those of USL, Novell, and now SCO."
Now we start to get a little too honest. Doesn't really make SCOgroup/source sound very useful...
"SCOsource will continue to offer traditional UNIX System technology licensing activities, but it will also create new licenses to meet the changing demands of today's market."
We'll take money from anyone who is stupid enough to give it to us.
"Changing market conditions are leading SCO to both expand its licensing programs,..."
We're pretty much broke, so we're going to ask everyone to pay us and see who bites.
"... and to take a more careful look at possible unlicensed use of its intellectual property."
Oh, and I guess we might as well sue some deep-pockets too. After all, it might work and what the hell have we got left to lose?!
This was most certainly not a legal opinion, as Linus is not a lawyer. Linus is the creator, and currently lead developer/maintainer of the Linux operating system. As such, he is among a very small number of people who are qualified enough to judge what if any technical points in the SCO case touch Linux.
The difference between (and importance of) a tecnical and legal opinion on the ramifications of a lawsuit are very important, and you should be aware of when you want to consult which one.
Perl 6: The reason I've finally gotten off my butt and am writing Sand.
Sand is a programming language I've been planning for a long time, but its timetable has picked up as I'm more and more convinced that Perl 6 is going to fill a niche that I don't work in. Plus, I've really never been comfortable with bytecode interpreters.
That's not to slight Perl 6. I'm sure it will be a fine language, but I'm looking at moving on to a design that focuses on maintainability and compilability (that is: to machine code). Since none of the languages out there satisfy my desire for these attributes plus the flexibilty that I've come to love in Perl, I have to write it myself.;-)
You're not from New England.
:-/
You've never done any serious amount of driving in New England.
This isn't a wild guess as you might think, it's based on the fact that no one outside NE can get their heads wrapped around the utter stupidity that is our near-total lack of street signs (except for major roads, and even then, cross-streets are rarely labled.
See, I told you you wouldn't buy it. It's just so mind-numbingly stupid that no right-thinking person who doesn't live here can accept it without seeing.
There's a historical reason, of course. In World War II, the east coast took down most street signs so that -- don't laugh -- if the Germans invaded, they wouldn't know where they were. Ironically, it was the same basic mentality as disabling GPS.
After the war, most communities put their signs back, but because New England roads are, on average, so short and even change names frequently, the cost would have been astronomical. So, the states only funded putting "essential" signs back.... the expenditure model stuck...
Go easy on people who need a GPS to know what street they're on. In NE, it might be all you have
Other sources:
Organizations that need and are willing to fund the creation of a tool (or set of tools) for their own use: MIT X/Window System, many monitoring systems
Standards organizations which need a reference implementation: lib
Darwin and netscape actually don't fit in where you think they do. The goal with Darwin was not to boost market share by open sourcing. That would be a huge gamble, and one not evidenced to work. The goal was to absorb a large code base and attract developers willing to support it, thus lowering costs while improving the product. This is the win/win of open source, and there's a gigantic track record to suggest that it works.
There are quite a few more, and many special-cases of each.
IMHO, you should open source everything that you do if it isn't your core competency, but you should do it in a smart way. Extend existing projects, set up or arrange hosting for your own so that others can easily contribute. Arrange conferences around your micro-market which will allow multiple companies to collaborate.
As soon as Pepsi, Proctor and Gamble and GM start looking at the software they write, they're going to find that there's duplication of effort, not just between them and their competition, but among thier own business units. The OSS model helps here too, as it frees up the organization roadblocks that prevent collaboration. Grab a sourceforge server, set it up for your company and invite everyone with a pet project to create a project area. You might be amazed at the results (assuming your company is large enough that it suffers from these sorts of communications problems).
Ok, first, deciding to use Open Source software is a non-descision. You should be using the software that best suits your needs in terms of cost/benefit. If that's Red Hat Linux, then fine. If it's MacOS/X, fine. If it's Windows XP, fine.
What you really need to be asking is, how can participating in Open Source help my business? As an example, it's been said many times, but bear repeating: most of the lines of code written in the world are written for internal projects within a company and never see the light of day. Many companies don't release such code because it's a one-way operation. You release it, your competition uses it and you get nothing in return.
Now that the OSS model is blossoming, it's possible to create micro-markets for software that would otherwise never have seen the light of day. Anyone who starts this process will soon discover that there's something amazing that happens almost immediately. Code gets cleaner (the old "well if someone's going SEE this" reflex), documentation gets more extensive, people start thinking about modularity and interoperation. New ideas start moving around and soon, you're partially funding a very efficient software micro-market rather than fully funding your own in-house effort that just evolved over time as a tumor on your business.
You can now start to do things you would never had dared. You can investigate large systemic changes that would have been too costly before. Bug fixes happen faster. Software starts to be *released* in a reasonable way (heck, you might even have a reasonable handle on what features are upcoming and when to expect them).
This is the true power of OSS. Replacing your desktop or server OS is just a side-benefit.
Interesting. Yeah, TV SF (heck, a lot of print SF) as this fascination with the "captain/king" figure that gets a little sappy after a while (I mean how many King Arthurs do we really need in our story telling?)
Still, I liked the basic model that Farscape was following at first. I liked a lot of the little angles (like the species that looked like humans but had totally different biochemistry, the peaceful plant-as-druid, even sparkey amused me to an extent), but after a while it got way too campy for my tastes, and they went WAY overboard on leather. Does EVERY new species have to look like a model from B&D Monthly?
Still, fun show at first, and I can see why loyal fans would stick by it. Hopefully if they succede, the writers can be set loose to do what the story needs and some of the obvious network fiddling that has happened can stop.
I'm really torn here. On the one hand I'm thrilled that I didn't know all of that. On the other, I dispise being "ok" with ignorance of any kind.
Sigh.
I don't understand. What slip? Are you saying that child rearing is not important, or were you just picking on the spelling of asside [sic]?
[side note to SHEENmaster first: you're on my foes list, and I don't know why, but one more post like this, and you're off ;)]
I don't agree with your choice of examples (Sliders was a cool idea, but quickly devolved into bad story telling), but I agree wiht the sentiment. Let me explain Farscape for you, since you're not familliar with it, and hopefully explain why people (not me) care about it so much:
It's something like Buck Rogers. Guy from earth gets sent "away" (space in this case, not time) to a place where there are all manner of science-fictiony things to contend with. It's a classic culture-shock setup, which is a very common tool in SF and other genres as well, as it allows you to tell the story with your protagonist being the "everyman" that people can relate to.
Here are the things that have kept people watching Farscape: 1) really alien aliens including one who is totally non-humanoid (a ship) 2) the theme of the show seems to be exploring how much you can mess with the protagonist's brain before it turns to jello, and some people enjoy such story telling 3) the story evolves. Not in a B5 way where there's an end-point your moving to and a story arc on the way, but more in the Buffy style where things are allowed to change season-to-season.
Woefully for me, the most important part isn't there: writing. It's ok writing, even good writing by television standards, but I find it hard to get into a show unless the writing is exceptional, and Farscape's is not. It had some very good ideas, and ideas are fun. If they had structured it as more of an anthology, I might have watched. As it is, I watched a couple of seasons when they repeated, got the pattern (alien messes with John's mind, John acts crazy, crew acts suspicious, John quotes movie/TV line and gets better/kicks alien's ass). That was enough for me.
I'm not saying it's a bad show, just that I'm not on board with the idea that it's worth saving.
And if spending money in order to maintain or improve (as they see it) the standard of story telling in our culture (and TV is the primary story telling vehicle in our culture) isn't "getting a life", then what, pray-tell, is?!
One could argue (and I would not be the first), that story-telling is the most important attribute of what we do in our lives, as it's the primary way that we can affect future generations (child rearing asside). I won't argue that because I have other opinions on what's valuable in life, but I certainly would not scream "get a life" at anyone who's willing to get off the couch and organize and effort like this!
TV is an odd bird, and more so in the last 15 years as cable networks have exploded onto the scene.
:-/
Listening to people like JMS (who you mentioned, but did you know he's written an excellent screenwriter's guide for TV and movies that goes into a lot of the politics and how to deal with them?), Joss Whedon, Aaron Sorkin and others who have managed to sneak quality television in, I'm convinced that there's a formula for getting good television on the air.
Woefully for us, you're right: it has nothing to do with the fans per se, and once it stops going our way, we have little hope of changing it. It has to do with good writers (writers in TV are like directors in movies, they have a lot of power if they use it right) who have the organization skills and drive to produce (in name or function) their own shows, and a massive focus on good timing. You really have to pick a network thats brand new or established but on the ropes (even if just in one particular time-slot) or re-inventing themselves (e.g. Showtime and Sci-Fi in recent years).
Crusade was a great counter-example to this. Straczynski ran into an established network (TNT) that didn't have any major problems to solve. That meant that internally, there were too many little drones running around trying to find ways to be useful and justify their jobs. The way he describes it, the folks in Hollywood were practically fans of his (some actually were) and they let him do his thing, but he was constantly assaulted by the folks back at the home office in Atlanta who wanted to expand the demographic of the show, and make it match their existing audience (WWF fans as you point out).
No fan can tell those execs in Atlanta to piss off, because they're convinced that there's more gold inside the goose than the few paltry eggs it lays each season. They want to cut it open, re-structure it and sell it out for condos! That's the mentality you're dealing with, and it's only broken when there's change... you have to seek out that change. To many, JMS seemed pig-headed around Crusade, and I felt that way at first, but I realized after a while that I'd rather have the show go away than have 7 seasons of B5 meets VIP
And, had the original poster made such a clear go at the terms and still felt that there was a specific legal problem, I would have been happy to entertain it.
In fact, I'm not entirely sure how Red Hat would defend this one in court. They could say that, of course, they cannot restrict your copying, modification, use and disclosure of the binaries or source that came with the system and of which RH is not the primary copyright holder because of the terms of the GPL (RH is required to agree to the GPL or only distribute GPLed programs in accordance with copyright law); however they will not allow such copying, etc of the WHOLE SYSTEM which includes non-GPLed parts owned by Red Hat. I could see that, and it would make a strong case.
My guess is that Red Hat (if they're as business savvy as they have proven to be thus far), couldn't care less. They know that large companies will comply with the terms of the EULA. After all, the main reason for buying the software is the support, not the packaging or the CDs. If they get caught violating the terms of the support, they suddenly lose it, and that would suck. When I worked at Fidelity Investments with free software of various sourts, one of the most common questions was, what do we do if it breaks? If someone like Red Hat had been around then, we would have had no problems (as it was, it just took some explaining of the savings over proprietary systems, and how many admins that would buy in leiu of third-party support).
The problem with answering your question is the "A" in "NDA". That is to say, an NDA is just an agreement, and what you agree on is roughly non-disclosure. While there are many "boiler-plate" items that go into most NDAs as a result of various precidents, they're not a uniform lot.
This is very important to keep in mind when you are asked to sign such a document. Just because someone told you it was an NDA doesn't mean that it matches your assumptions about the scope of such a document! Most importantly, never let anyone convince you that you have to sign such a thing quickly. The phrase, "I'll have to read this over and get back to you," should be universally accepted, and if you're pressured to sign quicky, simply refuse and ask them why they did not inform you that you should have a lawyer present to expedite such matters.
If you sign an NDA, that *should* mean that you've read it, and if you've read it you should have a general sense of what you've agreed to. If you don't you should ask questions and/or hire a lawyer of your own to read/explain it before signing, and/or request alterations if required. I've altered a few NDAs and NCAs in my day for reasons varying from over-restrictive clauses that would have made my free-time open-source work my comany's intellectual property to simple incompatibility with my role.
Now, getting to your question a little more directly. There are three basic kinds of intellectual property that I'm aware of as a non-lawyer: copyrights, patents and trade secrets.
Copyrights and patents are not secrets, so disclosure is not the issue with them (though a patent might start out life as a trade secret).
When you sign an NDA, the basic assumption is that you're agreeing that some set of trade secrets you are about to be exposed to will continue to be trade secrets now that you are a party to them. You're being brought into the community of holders of that secret.
If that is the extent of the agreement (no matter how wordy it is), then as soon as the information stops being a trade secret, you are free from this obligation. That's a vast over-simplification, of course, but basically that's how it works.
Some things I've skipped over:
1) there's quite a lot of complicated precident for how a trade secret stops being a trade secret, so don't assume that hearing information from another party means you're free unless you know what constraints THEY might be under
2) there's a term I'm forgetting, but there's the idea that when one part of a contract expires or becomes meaningless, it all does unless the contract says otherwise (that may or may not be state-specific). This has resulted in a piece of boiler-plate that most contracts have now that specifically says the opposite, so be careful about things like giving out secret A because secret B is now in the public domain
3) it's probably a good idea to send (or better, have a lawyer send) an letter to the company that you have the agreement with, notifying them of your understanding of the situation. You would be amazed at how many misunderstandings can be cleared up by talking to someone before you procede on an assumption.
Like I say, I don't have any sort of legal training. I've been through a lot of NDAs and NCAs, so I understand the basic idea, and I've asked my lawyer (usally a lawyer friend, not someone in my employ) this sort of thing before. Take it for what it's worth and ask a real lawyer.
Thank you. First voice of reason I've heard. Sometimes I honestly think that most Slashdot readers would only be happy if Red Hat went back to selling $10 CDs.
I can migrate to Slackware or Mandrake or Debian silently and avoid the redhat screwing.
How, exactly are you screwed? What did you lose?
You still get source with Red Hat.
You can still download and burn ISOs of their software.
When I got started in the biz, I would have given an eye-tooth for a company that would provide an OS on just the above 2 terms, but there's more!
You can still get access to security and bug-fix updates for free.
You can pay a small fee to get automated access to the above updates, but there are also equivalent free services from third parties (see freshrpms' apt-rpm service). This is essentially a free service, which RH is covering network costs on. Everyone knows you don't *need* to sign up for RHN, it's basically there as a way to say thanks.
You can pay increasingly larger fees to get increasingly larger services. This is a no brainer. Any company that doesn't give their customers the option of paying as much as they like should be taken out to the street and fed to the pigeons.
This is a sound and reasonable model, and it does not take your shiny toys away or cause you to lose access to something you once had.
Why is everyone flipping out because Red Hat has added a pricing structure for upper-teir enterprises that is on-par with every other vendor? Should we all act shocked that a company doing business in the U.S. is actually trying to make money? Should we run around pretending that they're now somehow "evil" because they are making money?
At a higher level, why is there this slashdot knee-jerk reaction to any announcement concerning Red Hat? They come out with bluecurve and they're bad guys. They charge for automated access to RHN and they're bad guys. They announce an expensive product and they're bad guys. I swear sometimes I honestly think that if Red Hat donated a million dollars to fund cancer research the Slashdot headline would be "Red Hat Snubs Diabetes Research"!
Quantum Chromo Dynamics for dummies
Funny you should say that. I learned the basics from an Isaac Asimov essay when I was in High School. The math and physics were cut down to analogy, but that was required to fit it into a 20-page (or thereabout) essay.
I think Richart Feynman proves the case that you can take that to the next level and teach all of the remaintain detail in ways that the average human can absorb.
I assert that you can "Asimov" each every aspect of a complicated topic like knot-theory down to a 20-page essay to the point where, given an encyclopaedia of such essays anyone could learn the whole topic.
And here's the kicker... if you really understand the topic, you should be able to recite that encyclopaedia. If you don't then that's ok... you don't understand it completely, and that's the boat most people are in. There are one or two topics I feel I have down this well, and when you do truly understand something, top-to-bottom, it's a different ballgame. You can actually TEACH it to someone else which means that you can guide them through learning about it, not just point them at the right ISBNs.
That would be me. I did. I agreed with me. If you don't want to trust my take on it, feel free to contact Larry, his email address is easy enough to find. I believe that he's also spoken at great lenghths on his feelings for why Perl needs to go to Bytecode execution in version 6 on the mailing list (you can find perl6-language archives in several places). That would be another good source of information about the fact that Perl 5 does not execute a bytecode represenation like Java and Smalltalk.
However I was wrong on one point (and my appologies to Malcolm for having forgotten much of his fascinating work on "B", Perl's "b"ytecode backend). There *is* a bytecode representation of Perl. It's available through the moudle "B::Bytecode". Let's see what Malcolm had to say about it in his documentation:
As you can see, Perl does not use bytecode internally, but *does* have a system for generating it on the fly for cross-platform communication of pre-compiled programs (e.g. producing something like a binary). Essentially this is "serialized" Perl, to use the popular term for such things.It's not something that Perl knows how to execute, but there are modules that can turn it back into Perl's internal syntax tree, and thus you *could* clock an "execution time" for Perl's byte-code (it would be better than parsing a text program). Calling this Perl's internal representation is no more correct than calling the original text an internal representation.
Now, on to your other comment, "As for your other points, they are both trivial and irrelevant."
If you look at what I originally said, I did not refute performance statistics (no matter how vague and relative they were) or any of your other core points. What I said was that you had obviously not done any research on Perl before you cited performance information about it. In all cases that I can think of (be it for clocking programming languages, operating systems, databases, etc, etc) that's a fatal flaw. I would not trust performance numbers concerning Linux from someone who didn't know that Linux uses a modular variant of a monolithic architecture, why would I trust performance numbers re: Squeek and Perl from someone who doesn't know that Perl doesn't use a bytecode back-end for execution?!
You may be a very smart person, an excellent programmer or a Nobel Prize-winning politician, and I'm not calling into question your sexual prowess, but unless you get a lot more specific, and the details mesh with reality, I'm not going to take your word on these performance measurements, nor should the rest of Slashdot. Sorry, but there's just too much misinformation floating about and the last thing we need is to add to it. Please understand, that I have no interest in a language war. Squeek sounds interesting, and given that I'm working on developing my own programming language (a Perl-derived language called Sand), I should probably check out Squeek and see what it adds to the collective state of the art.
Perl is a very interesting language, and while I think it's ultimately doomed to fall by the side of the road, it will be interesting to see what effect it has on the convergence of dynamic (e.g. LISP) and static (e.g. C) programming languages. I think the answer is going to be that concepts like lambda functions/closures and dynamic variable naming will become a part of more mainstream languages.
The perl bytecode engine is not exposed to the ouside world.
That would be because Perl does not have a bytecode represenation. Perl 4 and 5 (I'm not sure how far back, I'd have to look at the 1-3 sources) use a syntax tree that stores code and data in roughly equal ways. A bytecode represenation would look more like machine code (as does the Parrot bytecode which is the proposed back-end for Perl 6... Parrot is brand new, and has never been use for Perl code before).
Perl is moving to a bytecode model, but it has never used one.
You provided two references (probably based on a google search). The first is just plain wrong in that it compares Perl's intermediate form to Java's bytecode. Java uses a pseudo-machine code known as Java Bytecode, which is interpreted by the JVM (Java Virtual Machine).
The second is more accurate in that it simply uses the term bytecode in a slightly inaccurate way.
Bytecode, is a structured representation of a program that resembles machine code. In fact, you *could* call machine code, "hardware interpreted bytecode".
Perl does not use an intermediate form like that (at least not now, there are plans to use the Parrot virtual machine for Perl 6, but since nothing but a crude implementation of the early draft of Perl 6 exists, I'm not counting that).
Perl uses a syntax tree internally, which it directly optimizes and then executes. A syntax tree is a data structure which contains all of the operations and data in your program as relatively equal citizens. It's a very different model form bytecode, and has different performance and optimization implications. Most Java compilers use a syntax tree representation during compilation, but then output a bytecode representation for the virtual machine to execute (and then as a final step, most modern JVMs include a translation of the bytecode to machine code for final execution, which is known as JIT or Just In Time compilation).
In any case, I was merely comparing the speed of the interpreters anyway.
Just so! To compare the speed of a byte-code compiled language to that of a more classical syntax-tree based compile/execute language is as off-the-wall as comparing a true interpreter to a byte-code compiled language (for an example of a true interpreter see Bourne Shell or older TCL implementations).
The real question is, scale UI complexity to *what* levels?
There are a lot of folks who will arm-wave at the idea of 3D UIs. I've yet to see a 3D UI that a) renders on current 2D screens and b) provides any significant advantage over the 2D concepts of window-stacking, iconification, virtual screens and alpha-channel blending.
Some of these concepts are still in the "time to market" stage (e.g. alpha-channel blending), but given their application, the idea of tracking UI objects in three dimensions (which increases memory usage) isn't really going to buy you much.
Take a look at the screen-shots. Squint. Try to convince yourself that you're looking at a rendered background with several overlapping windows. Now ask yourself: do the addition of perspective and a z-axis for window movement improve the situation, or just add complexity?
Perl has no bytecode engine. Based on that, I'm assuming the author of the parent content hasn't really done any reasearch. 'Nuff said.
Source code is not the issue in the suit.
That's the key point that a lot of folks are missing. It's not about the source!
This suit primarily centers around the idea (this is a wild paraphrase of a bunch of legalese) that IBM disclosed trade secrets of USL (once part of Bell Labs, then AT&T, then Novell, then SCO, then Caldera, now SCOgroup) through their work on and contributions to AIX and Linux among other projects.
So, in that light, Linus is a vastly qualified individual for expert commentary because a) he knows exactly where many (not all) of the concepts in Linux came from b) he is more aware than the vast majority of people who have touched Linux when certain ideas fist entered the mix, and thus how much influence IBM had on them.
c) is a bit more complex. SCO claims that Linux and other open source projects could not have developed the advanced features that they have as quickly as they have without benefiting from UNIX's trade secrets. This is a nebulous claim at best, but I think you'll see that Linus has a very good basis for destroying any such claim by pointing out the large number of innovations that happened before IBM got involved and the large number of innovations that happened after IBM got involved that they did not contribute to.
Linus is probably one of the 3 to 10 most qualified "expert witnesses" on the Linux portion of this suit, and ultimately probably the most damaging witness that IBM could bring to bear (even pre-trial).
SCO (aka Caldera) has their own take on this on their Web site. They explain what SCO's new SCOsource division is...
... well, us." That takes some major meatballs.
..."
"SCOsource is a new division in SCO. Its purpose is to license and protect SCO intellectual property."
That is to say that their job, like the job of every part of a company, is to contribute to the bottom line.
"SCO is the owner and licensor of UNIX System V operating system technology which originated in Bell Labs in the 1960s and has been evolved and enhanced continually since its introduction."
This is almost true. In reality the UNIX System V codebase has stagnated in the last 5 years because no one really cares.
"SCO is also responsible for licensing and enforcing all copyrights and patents associated with this technology."
An interesting angle. Almost a "hey, we don't *want* to go around suing people, but it's our responsibility to
"Of course UNIX technology has been licensed since its inception, starting with the original licenses offered by Bell Labs, through those of USL, Novell, and now SCO."
Now we start to get a little too honest. Doesn't really make SCOgroup/source sound very useful...
"SCOsource will continue to offer traditional UNIX System technology licensing activities, but it will also create new licenses to meet the changing demands of today's market."
We'll take money from anyone who is stupid enough to give it to us.
"Changing market conditions are leading SCO to both expand its licensing programs,
We're pretty much broke, so we're going to ask everyone to pay us and see who bites.
"... and to take a more careful look at possible unlicensed use of its intellectual property."
Oh, and I guess we might as well sue some deep-pockets too. After all, it might work and what the hell have we got left to lose?!
This was most certainly not a legal opinion, as Linus is not a lawyer. Linus is the creator, and currently lead developer/maintainer of the Linux operating system. As such, he is among a very small number of people who are qualified enough to judge what if any technical points in the SCO case touch Linux.
The difference between (and importance of) a tecnical and legal opinion on the ramifications of a lawsuit are very important, and you should be aware of when you want to consult which one.
Perl 6: The reason I've finally gotten off my butt and am writing Sand.
;-)
Sand is a programming language I've been planning for a long time, but its timetable has picked up as I'm more and more convinced that Perl 6 is going to fill a niche that I don't work in. Plus, I've really never been comfortable with bytecode interpreters.
That's not to slight Perl 6. I'm sure it will be a fine language, but I'm looking at moving on to a design that focuses on maintainability and compilability (that is: to machine code). Since none of the languages out there satisfy my desire for these attributes plus the flexibilty that I've come to love in Perl, I have to write it myself.