And, sorry about that, but it's not decision to be made by the geeks themselves. They have to advise and wave the red flags but no more. It's not also a light overnight decision.
I saw the case 3 years ago in a video streaming company. Their capture board was ok though really not great and quickly going obsolete, but they had a great software, very stable under Win95, Win98 and NT (quite a feat !), and very happy customers.
Problem was : the software was essentially 5 years worth of patches, patches over patches and hacks over patches of patches and... A complete nightmare tied to death to the obsoleting hardware. They were really caught between a rock and a hard place.
- Upgrading the hardware big time and rewriting the software from scratch ? Big investment, lot of uncertainties. Pissing off the customers with a freeze on the old code while the engineers work on the new one. High risk for a tiny company.
- Keeping the current software as is, making the new hardware perfectly compatible with the old one and cleaning the software bit by bit over time ? Result : a bloated hardware, lots of delays, and, ultimately, loosing the cost/performance race and quietly withering away in oblivion.
They wavered between those paths for nearly 2 years, a huge draw on employee morale, and more or less ended up with the worst of both worlds. There's still a chance they survive but...
Morality ? It's really a management decision and an important one at that : for small companies, it's a life-or-death bet and not just a way to piss or rejoice its geeks. It very much depends on how much cash the company has on hands to survive the transition "hibernation". Because when you redevelop a product from scratch, there's nearly no more resources left to continue the day to day maintenance and upgrade on the old installed base. Your customer base whines, shouts, cries, and goes away to the competitors, and your reputation takes a huge blow.
A good company should ALWAYS make a provision (i.e. stashing cash at bank and writing it off from the earnings) to cope with this kind of situation. It must be part of the business model, and not considered as earnings. For once, Microsoft has that perfectly right, just in case : they hold more than 1 year of operating expenses in cash - $25B !
BTW, there's a little nasty perverse side-effect to product transition. If your customers notice a slow-down on fixes and upgrades and you tell them nothing, they get suspicious and pissed. But, if you tell them that something great is coming, it can get even worse 'cause, if they trust you, the darn morons are going wait for the new product ! No more cash rolling in the company account ! That can hurt...
I concur. Well, nearly but for a point of detail on GPLed code. As I understand the GPL, there's a trick. Fell free to tell me if I'm 1) prefectly right 2) somewhat messed up 3) really messed up 4) uterly fucked up.
Here we go.
If it's GPL, you need the explicit approval of the copyright holder, and NOT the approval of all contributors. Yep, a GPLed software has a copyright holder. Often, it's the original author(s) of the software, indvidual or corporation/non-profit, or if (s)he arranged a formal transfer, it can be the FSF and a similar foundation, whose specific goal is to maintain those copyright in the copyleft domain.
For instance, anything in the Gnu tools belongs to the FSF. For Linux, it's, well, Linus Torvalds himself (or hasn't he tranfered the rights to the FSF ?). "Arrghhh ! What ? You mean that those 50 gazillions lines of code I nurtured and faithfully contributed to OpenSmurf 13.5 are not MINE ???"
Short answer : no, it's the property of the copyright holder.
Correct answer : no but if, say for instance, Linus Torvalds, in a sudden burst of acute dementia, decides to create a closed source version of the Linux kernel starting from the open 2.4 code, he can perfectly do so, yet with the following caveat:
1 - The Linux kernel all alone by itself is a fairly useless piece of software.
2 - Half the planet will treat him a vigorous middle finger (and in such volume, that hurts somehow)
3 - All the code available up to 2.4 remains in the open domain and Linus has no control on its usage as long it remains in the limit of GPL use. The open source community can continue to work on rel 2.6 with somebody else at the helm. And by the way, the diabolic Linus can derive a new closed version from the open 2.6 when it's released (expected in 2237AD). If the good guys really want to get rid of this demented vampire unfairly poaching their work, they have to rewrite everything from scratch. Ouchh !
By the way, if you just plan to poach some GPLed code and just release the few minor crappy useless tweaks you need to make it run with your game, the answer is very likely going to be a resounding and well deserved F*** **U. Now, if you consider to GPL the protocol so somebody else can develop a open source version of your game, that may be a completely different story.
Sir, sir, sir ! I swear those $0.02 are not mine ! It's this guy who's running away, see there in the street !
It all depends on the application, but most servers "require":
1 - small code (always the same app running)
2 - mucho data, not so mucho processing.
3 - mucho I/O
For a good design server, a kick-ass bus and lots of CPUs is way more important than having the latest 5.3 zillion Hz processor. The speed and width of the bus/switch fabric sets the upper limit on how much data you can move around. Having a lot of processors is good so you can max out your bandwidth, some processors using the bus while others stall on I/O or locks. In a data server, a CPU spends most of its time doing strictly nothing but wait for the rest of the world.
There are some applications that would prove me wrong : web server with very complex / sophisticated / bloated dynamic pages may be, scientific computing definitely. But the above is more or less the rule of thumb when looking at a data server.
'Just saw the picture the other night. I feel kind of mixed about it : not bad, not great. Somewhere, the scenarist fails to decide on whether the picture is about the personal feelings of special assistant O'Donnel (not personal enough then) or about History with a big H (not enough perspective).
Yet, there's two things the picture renders very well:
- The incredible amount of distrust between the presidential administration and the US military. It's not a matter of who's the good guy or the bad guy. They're just not living on the same planet.
- The mind-blowing fact that, at this time, USSR was complete terra incognita for the West. The US administration strictly had no idea of who they were talking with and who was really in charge in Moscow. Ironically, the Soviets were scared shitless by what they were doing in Cuba. It seems hardly credible today after the fall of the Berlin wall but it's perfectly true.
For interships in the US shorter than 18 months, a long term temporary H1B visa is not needed at all.
The relevant visa is the J1 Exchange Visitors visa which is much easier to obtain than a H1B and which can be valid for up to 18 months. It's an exchange program based on reciprocity, the US let Froggies in for internship and France let Yankees in on similar terms. It also works between US and Philippines for what matters to you.
As it's an educationnal exchange program, in most countries, those programs are not directly handled by the US consular administration but by a local non-profit organization (for instance in France, the US Council) and the exact requirements to obtain this visa may vary from place to place.
In addition to the reduced paperwork, the J1 visa has 2 nice side effects. You (and your employer) don't have to pay some social taxes (Social Security, Medicare, Disability, etc). Yet, you still have to pay the incomes taxes if you stay longer than 6 months. Also, if you're married, your spouse can accompany you with a J2 visa (or a J4 or Jwhatever, I can't remember). This visa is a very cool thing as it allows your spouse to do whatever (s)he wants in the US for the duration of your visa, without anymore paperwork, have a job, go to college, etc. It's equivalent to a short term Green Card.
And, sorry about that, but it's not decision to be made by the geeks themselves. They have to advise and wave the red flags but no more. It's not also a light overnight decision.
I saw the case 3 years ago in a video streaming company. Their capture board was ok though really not great and quickly going obsolete, but they had a great software, very stable under Win95, Win98 and NT (quite a feat !), and very happy customers.
Problem was : the software was essentially 5 years worth of patches, patches over patches and hacks over patches of patches and
- Upgrading the hardware big time and rewriting the software from scratch ? Big investment, lot of uncertainties. Pissing off the customers with a freeze on the old code while the engineers work on the new one. High risk for a tiny company.
- Keeping the current software as is, making the new hardware perfectly compatible with the old one and cleaning the software bit by bit over time ? Result : a bloated hardware, lots of delays, and, ultimately, loosing the cost/performance race and quietly withering away in oblivion.
They wavered between those paths for nearly 2 years, a huge draw on employee morale, and more or less ended up with the worst of both worlds. There's still a chance they survive but
Morality ? It's really a management decision and an important one at that : for small companies, it's a life-or-death bet and not just a way to piss or rejoice its geeks. It very much depends on how much cash the company has on hands to survive the transition "hibernation". Because when you redevelop a product from scratch, there's nearly no more resources left to continue the day to day maintenance and upgrade on the old installed base. Your customer base whines, shouts, cries, and goes away to the competitors, and your reputation takes a huge blow.
A good company should ALWAYS make a provision (i.e. stashing cash at bank and writing it off from the earnings) to cope with this kind of situation. It must be part of the business model, and not considered as earnings. For once, Microsoft has that perfectly right, just in case : they hold more than 1 year of operating expenses in cash - $25B !
BTW, there's a little nasty perverse side-effect to product transition. If your customers notice a slow-down on fixes and upgrades and you tell them nothing, they get suspicious and pissed. But, if you tell them that something great is coming, it can get even worse 'cause, if they trust you, the darn morons are going wait for the new product ! No more cash rolling in the company account ! That can hurt
I concur. Well, nearly but for a point of detail on GPLed code. As I understand the GPL, there's a trick. Fell free to tell me if I'm 1) prefectly right 2) somewhat messed up 3) really messed up 4) uterly fucked up.
Here we go.
If it's GPL, you need the explicit approval of the copyright holder, and NOT the approval of all contributors. Yep, a GPLed software has a copyright holder. Often, it's the original author(s) of the software, indvidual or corporation/non-profit, or if (s)he arranged a formal transfer, it can be the FSF and a similar foundation, whose specific goal is to maintain those copyright in the copyleft domain.
For instance, anything in the Gnu tools belongs to the FSF. For Linux, it's, well, Linus Torvalds himself (or hasn't he tranfered the rights to the FSF ?). "Arrghhh ! What ? You mean that those 50 gazillions lines of code I nurtured and faithfully contributed to OpenSmurf 13.5 are not MINE ???"
Short answer : no, it's the property of the copyright holder.
Correct answer : no but if, say for instance, Linus Torvalds, in a sudden burst of acute dementia, decides to create a closed source version of the Linux kernel starting from the open 2.4 code, he can perfectly do so, yet with the following caveat:
1 - The Linux kernel all alone by itself is a fairly useless piece of software.
2 - Half the planet will treat him a vigorous middle finger (and in such volume, that hurts somehow)
3 - All the code available up to 2.4 remains in the open domain and Linus has no control on its usage as long it remains in the limit of GPL use. The open source community can continue to work on rel 2.6 with somebody else at the helm. And by the way, the diabolic Linus can derive a new closed version from the open 2.6 when it's released (expected in 2237AD). If the good guys really want to get rid of this demented vampire unfairly poaching their work, they have to rewrite everything from scratch. Ouchh !
By the way, if you just plan to poach some GPLed code and just release the few minor crappy useless tweaks you need to make it run with your game, the answer is very likely going to be a resounding and well deserved F*** **U. Now, if you consider to GPL the protocol so somebody else can develop a open source version of your game, that may be a completely different story.
Sir, sir, sir ! I swear those $0.02 are not mine ! It's this guy who's running away, see there in the street !
It all depends on the application, but most servers "require"
1 - small code (always the same app running)
2 - mucho data, not so mucho processing.
3 - mucho I/O
For a good design server, a kick-ass bus and lots of CPUs is way more important than having the latest 5.3 zillion Hz processor. The speed and width of the bus/switch fabric sets the upper limit on how much data you can move around. Having a lot of processors is good so you can max out your bandwidth, some processors using the bus while others stall on I/O or locks. In a data server, a CPU spends most of its time doing strictly nothing but wait for the rest of the world.
There are some applications that would prove me wrong : web server with very complex / sophisticated / bloated dynamic pages may be, scientific computing definitely. But the above is more or less the rule of thumb when looking at a data server.
My $0.02
Eh ben là, ça, au moins c'est couillu !
/dev/null
Poster en français sur Slashdot et être modéré +2, ça m'épâte !
Après Slashdot, voici Traitpoint...
# cat slashdot | babelfish -i en -o fr >
'Just saw the picture the other night. I feel kind of mixed about it : not bad, not great. Somewhere, the scenarist fails to decide on whether the picture is about the personal feelings of special assistant O'Donnel (not personal enough then) or about History with a big H (not enough perspective).
Yet, there's two things the picture renders very well
- The incredible amount of distrust between the presidential administration and the US military. It's not a matter of who's the good guy or the bad guy. They're just not living on the same planet.
- The mind-blowing fact that, at this time, USSR was complete terra incognita for the West. The US administration strictly had no idea of who they were talking with and who was really in charge in Moscow. Ironically, the Soviets were scared shitless by what they were doing in Cuba. It seems hardly credible today after the fall of the Berlin wall but it's perfectly true.
For interships in the US shorter than 18 months, a long term temporary H1B visa is not needed at all.
The relevant visa is the J1 Exchange Visitors visa which is much easier to obtain than a H1B and which can be valid for up to 18 months. It's an exchange program based on reciprocity, the US let Froggies in for internship and France let Yankees in on similar terms. It also works between US and Philippines for what matters to you.
As it's an educationnal exchange program, in most countries, those programs are not directly handled by the US consular administration but by a local non-profit organization (for instance in France, the US Council) and the exact requirements to obtain this visa may vary from place to place.
In addition to the reduced paperwork, the J1 visa has 2 nice side effects. You (and your employer) don't have to pay some social taxes (Social Security, Medicare, Disability, etc). Yet, you still have to pay the incomes taxes if you stay longer than 6 months. Also, if you're married, your spouse can accompany you with a J2 visa (or a J4 or Jwhatever, I can't remember). This visa is a very cool thing as it allows your spouse to do whatever (s)he wants in the US for the duration of your visa, without anymore paperwork, have a job, go to college, etc. It's equivalent to a short term Green Card.