I don't see any reason why open source couldn't remain open if corporations threw some money at OS projects. It already happens in various permutations (IBM, Apple, Sun, Active State via M$ [I'm goin' down for that one]).
Here are three ways that I would like to see companies contribute to Open Source projects outside of the way that they already do:
Look at their systems and ask what portion of their IT/IS productivity comes from FLOSS and what portion of their overall system productivity comes from FLOSS and contribute accordingly. Examples:
network department's use of ntop, mrtg, snort
programmer's use of emacs, ant, jEdit, gcc, etc
Production Systems: vital functions running via perl
Add this stuff up roughly and then say, gee we pay 190K for commercial snmp agent licenses, and we would actually be way more screwed if we didn't have perl - and with perl 6 there are some things we could do that we can't now. So let's chuck 125K at the perl 6 effort. And let's send some of the Ultra 20's in the storeroom in the basements to the ntop guys if they want them. Forward $5000 from our corp amazon account to Tobi's for the priceless contribution of mrtg/rrd to the world of network monitoring, without it we would have had a hard time tracking down xyz problem last month - god knows that is nothing compared to the XX millions we spent on Tivoli, Openview and Cisco software. Our most productive programmers use emacs, so send that powered down, 6 CPU Sun E4500 with the faceplate ripped off to the GNU boys. We are going to move one of our most speed sensitive systems to Opteron, so send SuSE $8K and ask that they put us on their early 64bit release list. For a big company, these are not even blips on the financial radar.
Completely subsidize small projects that they find useful. Having worked at a number of big companies, I can tell you that they could pay one area expert person to devote full time to a OS project for less than the cost of one useless junior "business analyst". Here is a personal example:
For doing some on-demand reporting, I needed to check that the bloated, overpriced, under performing Report Server *Achoo* [...hate when that happens, excuse me] that we were using was producing the correct numbers. It took forever to run the reports with this software and the license costs for it cost in the 18K - 38K per CPU range. I used htmldoc to spin a pdf version from a raw query of the data via a sh script sweet, easy, fast - I couldn't get htmldoc to take more than 1 second regardless of how long the report was. The other software took at least 8 minutes to produce the same report from the same dataset on the same server(s). Now, I know what you are going to say - they are already making a dogbone buck on htmldoc. But there is no reason that we couldn't have thrown them 25K with a note that said:
Dear Mike,
Thanks for asskicking software. Thanks for saving us from having to buy another Enterprise UNIX box CPU and another license from the bloodsuckers. - We don't even need any new features or performance upgrades in htmldoc - Thanks again and keep us the great work.
Because otherwise when Adobe comes out with pdf spec 19.0 - uberpdf, Mike may say screw it, that's too much work to update htmldoc to all the new uberfeatures for the $ we are making... Hell, adobe should pay them and distribute it - why? to de-value report server products - there was a great paper that I read about how one of the economic benefits for Oracle from linux is that it de-values Operating Systems (cost-wise), thus freeing up money to be spent on database products, but I can't find the paper now.
Shame companies like those on the busybox list into complying and if [we] aren't suing them, ask them to contribute to the effort/project that they are profiting from - how hard would it be for Belkin to throw some money at busybox. For cryin' out loud, they are going to nee
To achieve O(1) you usually have to do some tricks that will get you quite a large constant.
I dont think that is necessarily true. You can (as they are doing here) trade memory use for speed by enumerating a bucket for every possible option and having a method to decide which bucket to look in. The memory requirements change for the number of options but the speed of the decision stays at a (low constant) O(1).
In general, its a matter of building clever, info-rich lookup keys and organizing the data into a data structure that has the same access time for each key.
However,
from http://67.163.90.104/~jim/scheduler.html: Basically a function (find_busiest_queue) is called which will return another runqueue if there exists a runqueue that has 25%+ more runnable processes than the current process. If there is such a runqueue then the runqueues are locked (via each runqueues spinlock) and processes are transfered from the busier runqueue to the current runqueue, then the runqueues are unlocked.
Since I think people lump the loadbalancing portion of an SMP system in with the "scheduler" then clearly the overall scheduling and running of processes is not O(1).
I haven't heard of/read about Sun/HP/IBM/SCO* speaking about their SMP system schedulers and runqueue balancers separately. Anyone? Anyone?
* Yeah, that is a joke, because SCO would never talk about their scheduler (scheduler headers files, OK, yeah, maybe in an open letter to rich CIO's) since they already have the Linux 2.6 O(1) scheduler in their secret underground stash of "scanned into TIFFs and copied onto CD's" source code - Ha!
Many of the posters who disagree with the author, wrap themselves in the flag of "looking after the company's interests" - well who the hell do you think the developers are working for? - they aren't just making shit up on their own - Its the managerial idiots in the company who want you to roll out "Project I Pulled Out of My Ass So I Can Feel Important # 15" and no I would give you business requirement because this project is too overdue already just back fill them from the tech spec you guys make up and oh, yeah its important you follow all the processes and work nice with the poor "we're only trying to do our job" Operations Dept. And by the way if its late or wrong (because you read my mind incorrectly) then its your ass, not anyone else's.
He is right, admins have too much power and too little responsibility for being on the line for projects getting rolled out.
Here are some tidbits from one of my jobs at a Fortune 100 Co:
When I first started working at CoX there were no UNIX tools on any of the UNIX servers prod or dev. I had to compile gzip, top, wget, perl and all the other tools needed for a normal system. Why didn't they need top or ntop, because if there were problems on the system they would throw up their hands and say it was because of the developers processes and called them/us.
The network admins would refuse to participate in troubleshooting and no one else was allowed to use the sniffers. They would also do network work including taking switches and routers down during the nightly batch processing without notifying the "developers" who then got called at 4 AM to troubleshoot why "their" overnight processing failed.
The Oracle DBA said that it was not possible for the same query to take different lengths of time to run(at different times).
PC admins - no FTP GUI clients were on the list of approved software since the business users didn't need that type of product. No "shareware" allowed. They were starting to talk about no "shareware" for the UNIX servers around the time I was leaving:) I think they (IT management) think that things like wget is an example of what they would term "shareware".
The security admins ruled that the r* commands are a "security risk" [period, blanket, no appeals] and the developers were give three weeks to change all the production processes - never mind that getting approval for a change request (from the tribunal of these idiots that run the change control "process") takes longer than that and all the code needs to be changed and tested before submitting the change request (into the IIS/VB million dollar change management system that could keep even the CIA from pulling any usable information from it). You will need to be prepared to justify any and all aspects of your project before the tribunal, even though they are the ones who are forcing you to make the changes.
The list goes on and on. My experience across many jobs (20 years) being both an admin and a developers, is that generally admins are less competent and more useless than developers.
The order in terms of least knowledgeable and most "preventative":
1. Project Managers (completely and utterly useless)
2. Security Admin (most seem obsessed with think that make the least difference for true security - ie patching iPlanet so that it doesn't do HTTP TRACE) Their job usually also involves the slimy, salacious task of monitoring people's email and looking through http server logs for who's downloading porn)
2. (tied with security) Network Admins, won't help troubleshoot; nothing is wrong with the network; I can ping that machine from this one so its not the network; no you can't have any performance data about the net/router/switches its "confidential"; no you can't have the snmp password for the machines that you end up having to support because all the admins are useless, its "confidential"; no you can't use the sniffer, but its not the network so you don't need the sniffer anyway;
3. DBAs (The
I wonder what the memowriters at Dell would say about calls inquiring how to remove Gator. If they say "don't tell people how to remove it" then they are implying that it is spyware, as we all know that it is.
If a private investigator tells you that they are being paid to watch your every move, is it then no longer spying as they follow you around?
I don't know if SARS is new, I know 3 people who were hospitalized after returning from trips to China over the past several years - 1 died - cause unclear...
I think it may have been around for a while and is just start to build momentum.
noone
network department's use of ntop, mrtg, snort
programmer's use of emacs, ant, jEdit, gcc, etc
Production Systems: vital functions running via perl
Add this stuff up roughly and then say, gee we pay 190K for commercial snmp agent licenses, and we would actually be way more screwed if we didn't have perl - and with perl 6 there are some things we could do that we can't now. So let's chuck 125K at the perl 6 effort. And let's send some of the Ultra 20's in the storeroom in the basements to the ntop guys if they want them. Forward $5000 from our corp amazon account to Tobi's for the priceless contribution of mrtg/rrd to the world of network monitoring, without it we would have had a hard time tracking down xyz problem last month - god knows that is nothing compared to the XX millions we spent on Tivoli, Openview and Cisco software. Our most productive programmers use emacs, so send that powered down, 6 CPU Sun E4500 with the faceplate ripped off to the GNU boys. We are going to move one of our most speed sensitive systems to Opteron, so send SuSE $8K and ask that they put us on their early 64bit release list.
For a big company, these are not even blips on the financial radar.
Here is a personal example:
For doing some on-demand reporting, I needed to check that the bloated, overpriced, under performing Report Server *Achoo* [...hate when that happens, excuse me] that we were using was producing the correct numbers. It took forever to run the reports with this software and the license costs for it cost in the 18K - 38K per CPU range. I used htmldoc to spin a pdf version from a raw query of the data via a sh script sweet, easy, fast - I couldn't get htmldoc to take more than 1 second regardless of how long the report was. The other software took at least 8 minutes to produce the same report from the same dataset on the same server(s). Now, I know what you are going to say - they are already making a dogbone buck on htmldoc. But there is no reason that we couldn't have thrown them 25K with a note that said:
Because otherwise when Adobe comes out with pdf spec 19.0 - uberpdf, Mike may say screw it, that's too much work to update htmldoc to all the new uberfeatures for the $ we are making... Hell, adobe should pay them and distribute it - why? to de-value report server products - there was a great paper that I read about how one of the economic benefits for Oracle from linux is that it de-values Operating Systems (cost-wise), thus freeing up money to be spent on database products, but I can't find the paper now.
To achieve O(1) you usually have to do some tricks that will get you quite a large constant.
I dont think that is necessarily true. You can (as they are doing here) trade memory use for speed by enumerating a bucket for every possible option and having a method to decide which bucket to look in. The memory requirements change for the number of options but the speed of the decision stays at a (low constant) O(1).In general, its a matter of building clever, info-rich lookup keys and organizing the data into a data structure that has the same access time for each key.
However, from http://67.163.90.104/~jim/scheduler.html
Basically a function (find_busiest_queue) is called which will return another runqueue if there exists a runqueue that has 25%+ more runnable processes than the current process. If there is such a runqueue then the runqueues are locked (via each runqueues spinlock) and processes are transfered from the busier runqueue to the current runqueue, then the runqueues are unlocked.
Since I think people lump the loadbalancing portion of an SMP system in with the "scheduler" then clearly the overall scheduling and running of processes is not O(1).
I haven't heard of/read about Sun/HP/IBM/SCO* speaking about their SMP system schedulers and runqueue balancers separately. Anyone? Anyone?
* Yeah, that is a joke, because SCO would never talk about their scheduler (scheduler headers files, OK, yeah, maybe in an open letter to rich CIO's) since they already have the Linux 2.6 O(1) scheduler in their secret underground stash of "scanned into TIFFs and copied onto CD's" source code - Ha!
Many of the posters who disagree with the author, wrap themselves in the flag of "looking after the company's interests" - well who the hell do you think the developers are working for? - they aren't just making shit up on their own - Its the managerial idiots in the company who want you to roll out "Project I Pulled Out of My Ass So I Can Feel Important # 15" and no I would give you business requirement because this project is too overdue already just back fill them from the tech spec you guys make up and oh, yeah its important you follow all the processes and work nice with the poor "we're only trying to do our job" Operations Dept. And by the way if its late or wrong (because you read my mind incorrectly) then its your ass, not anyone else's.
:) I think they (IT management) think that things like wget is an example of what they would term "shareware".
He is right, admins have too much power and too little responsibility for being on the line for projects getting rolled out.
Here are some tidbits from one of my jobs at a Fortune 100 Co:
When I first started working at CoX there were no UNIX tools on any of the UNIX servers prod or dev. I had to compile gzip, top, wget, perl and all the other tools needed for a normal system. Why didn't they need top or ntop, because if there were problems on the system they would throw up their hands and say it was because of the developers processes and called them/us.
The network admins would refuse to participate in troubleshooting and no one else was allowed to use the sniffers. They would also do network work including taking switches and routers down during the nightly batch processing without notifying the "developers" who then got called at 4 AM to troubleshoot why "their" overnight processing failed.
The Oracle DBA said that it was not possible for the same query to take different lengths of time to run(at different times).
PC admins - no FTP GUI clients were on the list of approved software since the business users didn't need that type of product. No "shareware" allowed. They were starting to talk about no "shareware" for the UNIX servers around the time I was leaving
The security admins ruled that the r* commands are a "security risk" [period, blanket, no appeals] and the developers were give three weeks to change all the production processes - never mind that getting approval for a change request (from the tribunal of these idiots that run the change control "process") takes longer than that and all the code needs to be changed and tested before submitting the change request (into the IIS/VB million dollar change management system that could keep even the CIA from pulling any usable information from it). You will need to be prepared to justify any and all aspects of your project before the tribunal, even though they are the ones who are forcing you to make the changes.
The list goes on and on. My experience across many jobs (20 years) being both an admin and a developers, is that generally admins are less competent and more useless than developers. The order in terms of least knowledgeable and most "preventative":
1. Project Managers (completely and utterly useless)
2. Security Admin (most seem obsessed with think that make the least difference for true security - ie patching iPlanet so that it doesn't do HTTP TRACE) Their job usually also involves the slimy, salacious task of monitoring people's email and looking through http server logs for who's downloading porn)
2. (tied with security) Network Admins, won't help troubleshoot; nothing is wrong with the network; I can ping that machine from this one so its not the network; no you can't have any performance data about the net/router/switches its "confidential"; no you can't have the snmp password for the machines that you end up having to support because all the admins are useless, its "confidential"; no you can't use the sniffer, but its not the network so you don't need the sniffer anyway;
3. DBAs (The
I wonder what the memowriters at Dell would say about calls inquiring how to remove Gator. If they say "don't tell people how to remove it" then they are implying that it is spyware, as we all know that it is.
If a private investigator tells you that they are being paid to watch your every move, is it then no longer spying as they follow you around?
I don't know if SARS is new, I know 3 people who were hospitalized after returning from trips to China over the past several years - 1 died - cause unclear... I think it may have been around for a while and is just start to build momentum. noone