The company I was a consultant for recently, had a policy using VMware for almost all windows servers. We were installing a new type of java middleware software, and noticed a significant performance overhead from using VMWare. We estimated the overhead might be as high as 50% (that 43% sounds familiar), while VMWare usually claims only a few percent overhead, for most applications.
The important part was that the middleware product was expensive and the license type was a per processor license. So a 50% overhead, implied that the number of processors needed could double, and thus the license costs could double, which would a be very significant cost increase.
So it is nice to hear similar experiences form other applications. My own view is that VMware might be very well for many situations, but there are exceptions. I don't have any proof, just a gut feeling, but is seems that having java applications with high numbers of threads can suffer a significant performance hit.
* As a cvs client we use eclipse. Great product, but unfortunately it is Java, and therefore slow. Some of the developers use the editor of eclipse, others use external editors (vi baby:)
If you don't need all the java editing, compiling, debugging etc goodies of eclipse, it is definitely overkill to use it just as cvs client. Since you mention all developers are using microsoft windows I would suggest the free TortoiseCvs as an extremely nice CVS client. Just check it out and you will almost certainly like it. http://www.tortoisecvs.org/
Note, I am just a happy user of TortoiseCvs (and nowadays TortoiseSvn), but not affiliated to the project in any way.
So it makes sense that the Free Software communities are most heavily involved and it seems perfectly logical and acceptable that the process is lobsided to those communities.
In fact if one looked at the persons in the 4 committee, one would see many representatives of commercial companies. I found these list quite impressive (even though I can't estimate how actively everyone is involved, and what kind of influence they have). That we don't hear them in the article might be that in such corporations talking to the "press" is often more controlled.
I think that the use of the term property in "intellectual property" kind of tries to cling on to the old paradigm. I guess many people have stated this before.
I personally would much more like to see the term "intellectual creation", e.g. "intellectual creation rights". This term puts more emphasis on the creation of software, books, movies, songs, whatever, and not on who "owns" the "property", or what boundaries are needed around the "property".
I always am under the impression that the purpose behind intellectual "property" laws like copyright and patents is to encourage the creation and sharing of ideas, books, software, etc. However what I see is that many companies and people see those laws as rights to certain amounts of money (i.e. their property), and this seems to be strengthened by the use of terms as "theft" (of their property).
I do not oppose earning money using "intellectual creation rights" like copyright. Some useful stuff (e.g. multi million dollar movies or new drugs) would probably not be created without a strong monetary incentive.
I would just like that discussions would be based on the right principle ("value of creation and sharin instead of "right to become filthy rich"), and people would be more aware and appreciative of the value of sharing ideas from great inventors, scientists and software developers, throughout the ages.
I used to help out on my daughters school. I set up a simple script and NTFS image using partimage. We used it for about 80 win2000 computers. We never had any problems with the NTFS support of partimage. The parimage documentation says it is experimental, but that if an image is created succesfully, the restore should always work. I guess it helps if your system where you make the image from is reasonably clean (defragmented and such).
I didn't use Knoppix, but a command-line based bootable Linux (Linux rescued CD). We had used Ghost (old version I guess) before, but the Linux based approach made it possible to script most steps. Basically one would boot the computer from the CD, login as root (I removed the root password on the bootcd), and run a simple script, e.g. "restoredisk ". The script would then: 1. copy a saved bootsector using dd 2. partition the disk sing sfdisk 3. restore ALL partitions using partimage 4. reboot the computer
The image basically was a directory (available as SMB share on a windows server) with a copy of the bootsector, a sfdisk file, and partimage file of each partition.
ad 3. I made the script a bit flexible so that multiple partitions could be restored, so that we had a (secret) Linux partition, a main C: drive wih operating system, Office, etc, and a D: data drive that was basically empty.
ad 4. The rebooting saved a lot of time, because after the images were restored the computer the computer rebooted automatically, and then windows booted, detecting hardware etc. This could take 15 minutes, but we could just leave the PCs right after starting the script, and come back 30 minutes later (the restoration was quite fast with a 2G image). Then all we had to do was give the PC a name, and add it to the domain. I have considered scripting that computer-name/SID part as well, but didnt have time to do it.
All this was very simple for someone restoring an image (boot a cd, type root, type a restore command). In fact I did this with a kindergarten teacher and she had no problems whatsoever.
The hardest part was making a good windows image. The hardware was very similar but not identical, so I had to use sysprep. This was essential for the automated hardware detection, and for the computer name / SID changing. I didnt learn enough about sysprep to add all kinds of drivers, just the few drivers we needed. The other problem was all kind of educational (wind3.1 based and such), that had problems with working with the network, or with being cloned, etc.
I don't know anything about OpenDocument Format, but the examples do look pretty complex. That might not be due to the standard itself, but due to the implementation. However if a standard makes it this easy to generate application specific complex or proprietary stuff (all the microsoft namespaces) it will hamper interoperability.
Many succesful standards are often pretty simple, for example:
SMTP (for Simple MTP)
LDAP (for Lightweight DAP)
XML (as a simplified SGML)
Most of these standards produce pretty easy to understand documents or line protocols (HTTP springs to mind).
Of course most of these standards provide extension mechanisms (I know SMTP, HTTP and XML do), which can be very useful but should be used sparingly. I think that that is the problem with XML. Every application defines their own "extensions" (as DTD's, schema's, namespaces). Although OpenDocument should work as one such standardised "extension", the examples show that each application further extends on that.
Parent is truly insightful, at least it was for me (I had mod-points to burn, but it already was modded to the max).
If the PC-software market would be truly divided between more than one dominant company, this would have several advantages:
True competition
Less monoculture
INTEROPERABILITY!
The third point would really benefit, especially on the mental side. In the BBC poll yesterday on slashdot I sensed one pretty strong sentiment among the general public "it is good that MS is a monopoly, so that everything works together". I see this a lot in professional IT as well (e.g. developers in a all-Microsoft shop, and of course managers with MS or Oracle based IT strategies).
If the IT landscape was more heterogeneous people would be more appreciative for real interoperability issues, like open standards and protocol, and normal users might understand that not everyone uses the same wordprocessor when they send a document, or manager would understand that a product that claims to "do XML" is still as closed as can be.
Of course, on the technical side, we should make interoperability as easy as possible, on operating systems but also on other kinds of applications (e.g. office suites). Looking at all the differences between Linux distributions or desktops there still is much room for improvement, although it is not that bad considering how most big open-source projects is compatible with most Unix flavours. The important thing might be the mindset of such project that they work in heterogeneous environments and the willingness to make that happen.
On a final note, such a "utopia" certainly is possible. Look at the landscape for email, where open standards like SMTP clearly won with many alternatives for email-servers, clients etc.
The age difference is kind of abused in the article in the first graph. It shows that java had many security issues in the first few years, when the security model was not very mature yet and as I understand changed between releases. By shifting the time axis between.Net and java there seems to be a huge difference where java has had many problems while.Net "at the same time" had none. If one would look at the last 3 years the difference wouldn't be so bad (although java had some more). The first few "bad" years of java could be justified by the age difference (different time/focus,.Net could learn from java, etc), but are presented falsely by shifting the time axis and by cumulating all those vulnerabilities of the first years of java.
It is too bad that the article seems biased in how it presents it's research, because it does seem to look at some interesting issues.
That being said, most comments here on slashdot seem to be equally biased. I am a big open-source fan and dislike many (but not all) Microsoft products, but like to keep an open mind. As an experienced java programmer, I must say that c# has many interesting features and seems in some ways even better than java, both as language (no checked exceptions, explicit override/virtual keywords) as in the underlying IL. I liked the point in the article about the call/invoke opcodes, which seems cleaner on.NET.
Disclaimer: I can't claim I read the entire article, but I at least skimmed through it. I am also not an expert on (java) security models or bytecode/IL issues.
> The location of the data is not what is all-important. Making the tools that modify that data better is.
It is not as much the location that is important, but the ease of access to these settings.
Having an easy to use tool to easily perform simple tasks (like windows often has) is nice.
Having the possibility to easily use and/or make a large range of tools is much better.
That is what I like about most unix-like config files. I can use simple tools like grep, wc diff etc for simple stuff. I can use advanced setups using CVS, rsync, preprocessors etc for advanced tasks.
How many of the easy-to-use windows system administration have the possibility for:
seeing the differences between two machines,
having a version history of all configuration changes,
replicating configurations (with local changes) from a master setup to many machines.
....
I grant that tools like samba or apache might benefit from easy to use GUI's for simple tasks (I dont use webmin, swat very well, so they might be adequate, but I have the impression that they might be more difficult to find for starting users).
But the main point is that easy access to the configuration data is prime. By easy access I mean many things:
- logical location
- easy to use format (text format)
- good documentation
- etc.
In fact it would have been much better if they had forked from one common base. Less resources had been wasted on developing common bases, and they would probably be more compatible with each other due to the common base.
However, even in this case, with no fork involved, the competition might still be a healthy thing. I am not a heavy user of each of them and have no strong preference, but I assume there still are some fundamental differences in some matters that justifies the two different projects.
Also note that such competition is very common in the closed source world as well. However, in such cases the "intellectual property" might be the driving force, of companies offering very similar products which mostly vary on other aspects (like marketing, pricing, etc)
I consider the possibility of forking one of the significant factors of open source. It may even be the distinguishing factor against proprietary software.
First a good OSS leader might be more motivated to accept changes from other developers to prevent forks. This is like a healthy competition, where one party has little first-mover advantage, because others with good ideas can start from the same base. For me this is much better than when a certain project has a lead which stifles other projects because the have to much catch up to do before their cool improvements become attractive.
However, if the changes are too different from the opinions of the people in control, a fork is always an option. In this case the users can decide which branch they like best. If two (or more) branches exist for a long time with similar popularity, then probably they serve different purposes or user groups.
Note that one of the plusses would be that branches might possibly merge again once the differences are reconciled and the advantages of both branches might become available. Especially the GPL garantuees that such merging is always possible from a license point of view.
My final observation is that I usually consider the fact that a project has no significant fork as a sign of quality. Probably the project has made all (or most) right decisions that there is little need to fork. Usually it is better to go with the flow and be happy with 90% of the decisions and enjoy the support of many community members, than to have all you 100% wishes but be one of the few users. This is probably why you dont see much forks in general.
To conclude: The fact that a fork is possible is probably very valuable, even though (or as a result of which) forks do rarely happen.
Of those, Partimagelooks the most promising to me, though I still haven't had the chance to try it.
I have been using partimage for over a year now. I use it at the primary school of my daughter where I do most of the computer stuff as volunteer. I burned a rescue cd from timo's rescue cd with a few minor changes (root password and simple script to connect to network).
Once on the network there I made some simple scripts that can partition the disk, restore a MBR, and then restore a image for each partition using partimage. The scripts can use simple partition and image information from a specified directory. Works like a charm, especially the possibility to script it in total and restore individual partitions. We had a guy on internship who went "Linux, that sound scary", but when he restored his first image he said "is it that simple?".
As for NTFS support of partimage, I use it all the time without any problems.
One of the partitions, that is restored by partimage contains a small debian install. It is hidden by LILO which immediatly boots windows 2000, and not really used at the moment. I plan to use it in future to make a simple image restore possible even for teachers. Always nice to know there is some real Linux power hidden on these 80 desktops.:-)
Many people are talking about Linux on the desktop similar as Windows especially with home users administering their own machine.
However the IBM and Perens articles hit me with a nice different viewpoint. Corporate driven with clearly targeted applications.
I think that might be a good strategy indeed. Having professional IT administrators design corporate desktops with all the control and power administration can offer. Similar desktop rollout and administration of windows machines is hard as well and needs a highly skilled staff.
Professionaly administrated machines is something Linux already excels in, and this can hold for teh desktop as well. That means that Linux might already be on the right track with ease of administration FOR PROFESSIONALS in organisations. This might be a quicker path to desktop succes than easy installation and administration for home users (and lets face is, most home windows PC's are a mess).
I agree totally that the article is definitely insulting for many contributors.
However, your posting made me think about how people might feel about some opinions/postings about them personally or their community (regardless if they are in the open source camp or not).
Let's ne honest, I have seen many similar insulting postings about people working at Microsoft in general and of course specific Microsoft individuals. I always like to treat ppl with ate least the same respect I would like to receive myself, even if I not agree with them.
I hope we can learn that it is no fun and probably counterproductive to insult people or IT/business practises, especially with so-called facts, and that the open source community would refrain from such postings and instead focus onall those informative, interesting and insughtful postings that makes slashdot and open source such a grand community.
Probably wishfull thinking, but wanted it said anyway.
The company I was a consultant for recently, had a policy using VMware for almost all windows servers. We were installing a new type of java middleware software, and noticed a significant performance overhead from using VMWare. We estimated the overhead might be as high as 50% (that 43% sounds familiar), while VMWare usually claims only a few percent overhead, for most applications.
The important part was that the middleware product was expensive and the license type was a per processor license. So a 50% overhead, implied that the number of processors needed could double, and thus the license costs could double, which would a be very significant cost increase.
So it is nice to hear similar experiences form other applications. My own view is that VMware might be very well for many situations, but there are exceptions. I don't have any proof, just a gut feeling, but is seems that having java applications with high numbers of threads can suffer a significant performance hit.
I didn't see anyone else mentioning it yet. This was my first computer and I have fond memories of it.
And a link for a nice photo of this oddly shaped beast. http://en.wikipedia.org/wiki/Commodore_PET
Note, I am just a happy user of TortoiseCvs (and nowadays TortoiseSvn), but not affiliated to the project in any way.
So it makes sense that the Free Software communities are most heavily involved and it seems perfectly logical and acceptable that the process is lobsided to those communities.
In fact if one looked at the persons in the 4 committee, one would see many representatives of commercial companies. I found these list quite impressive (even though I can't estimate how actively everyone is involved, and what kind of influence they have). That we don't hear them in the article might be that in such corporations talking to the "press" is often more controlled.
I think that the use of the term property in "intellectual property" kind of tries to cling on to the old paradigm. I guess many people have stated this before.
I personally would much more like to see the term "intellectual creation", e.g. "intellectual creation rights". This term puts more emphasis on the creation of software, books, movies, songs, whatever, and not on who "owns" the "property", or what boundaries are needed around the "property".
I always am under the impression that the purpose behind intellectual "property" laws like copyright and patents is to encourage the creation and sharing of ideas, books, software, etc. However what I see is that many companies and people see those laws as rights to certain amounts of money (i.e. their property), and this seems to be strengthened by the use of terms as "theft" (of their property).
I do not oppose earning money using "intellectual creation rights" like copyright. Some useful stuff (e.g. multi million dollar movies or new drugs) would probably not be created without a strong monetary incentive. I would just like that discussions would be based on the right principle ("value of creation and sharin instead of "right to become filthy rich"), and people would be more aware and appreciative of the value of sharing ideas from great inventors, scientists and software developers, throughout the ages.
just my 2 cents
I used to help out on my daughters school. I set up a simple script and NTFS image using partimage. We used it for about 80 win2000 computers. We never had any problems with the NTFS support of partimage. The parimage documentation says it is experimental, but that if an image is created succesfully, the restore should always work. I guess it helps if your system where you make the image from is reasonably clean (defragmented and such).
I didn't use Knoppix, but a command-line based bootable Linux (Linux rescued CD). We had used Ghost (old version I guess) before, but the Linux based approach made it possible to script most steps. Basically one would boot the computer from the CD, login as root (I removed the root password on the bootcd), and run a simple script, e.g. "restoredisk ".
The script would then:
1. copy a saved bootsector using dd
2. partition the disk sing sfdisk
3. restore ALL partitions using partimage
4. reboot the computer
The image basically was a directory (available as SMB share on a windows server) with a copy of the bootsector, a sfdisk file, and partimage file of each partition.
ad 3. I made the script a bit flexible so that multiple partitions could be restored, so that we had a (secret) Linux partition, a main C: drive wih operating system, Office, etc, and a D: data drive that was basically empty.
ad 4. The rebooting saved a lot of time, because after the images were restored the computer the computer rebooted automatically, and then windows booted, detecting hardware etc. This could take 15 minutes, but we could just leave the PCs right after starting the script, and come back 30 minutes later (the restoration was quite fast with a 2G image). Then all we had to do was give the PC a name, and add it to the domain. I have considered scripting that computer-name/SID part as well, but didnt have time to do it.
All this was very simple for someone restoring an image (boot a cd, type root, type a restore command). In fact I did this with a kindergarten teacher and she had no problems whatsoever.
The hardest part was making a good windows image. The hardware was very similar but not identical, so I had to use sysprep. This was essential for the automated hardware detection, and for the computer name / SID changing. I didnt learn enough about sysprep to add all kinds of drivers, just the few drivers we needed. The other problem was all kind of educational (wind3.1 based and such), that had problems with working with the network, or with being cloned, etc.
Hope this was helpful
Many succesful standards are often pretty simple, for example:
- SMTP (for Simple MTP)
- LDAP (for Lightweight DAP)
- XML (as a simplified SGML)
Most of these standards produce pretty easy to understand documents or line protocols (HTTP springs to mind).Of course most of these standards provide extension mechanisms (I know SMTP, HTTP and XML do), which can be very useful but should be used sparingly. I think that that is the problem with XML. Every application defines their own "extensions" (as DTD's, schema's, namespaces). Although OpenDocument should work as one such standardised "extension", the examples show that each application further extends on that.
If the PC-software market would be truly divided between more than one dominant company, this would have several advantages:
The third point would really benefit, especially on the mental side. In the BBC poll yesterday on slashdot I sensed one pretty strong sentiment among the general public "it is good that MS is a monopoly, so that everything works together". I see this a lot in professional IT as well (e.g. developers in a all-Microsoft shop, and of course managers with MS or Oracle based IT strategies).
If the IT landscape was more heterogeneous people would be more appreciative for real interoperability issues, like open standards and protocol, and normal users might understand that not everyone uses the same wordprocessor when they send a document, or manager would understand that a product that claims to "do XML" is still as closed as can be.
Of course, on the technical side, we should make interoperability as easy as possible, on operating systems but also on other kinds of applications (e.g. office suites). Looking at all the differences between Linux distributions or desktops there still is much room for improvement, although it is not that bad considering how most big open-source projects is compatible with most Unix flavours. The important thing might be the mindset of such project that they work in heterogeneous environments and the willingness to make that happen.
On a final note, such a "utopia" certainly is possible. Look at the landscape for email, where open standards like SMTP clearly won with many alternatives for email-servers, clients etc.
The age difference is kind of abused in the article in the first graph. It shows that java had many security issues in the first few years, when the security model was not very mature yet and as I understand changed between releases. By shifting the time axis between .Net and java there seems to be a huge difference where java has had many problems while .Net "at the same time" had none. If one would look at the last 3 years the difference wouldn't be so bad (although java had some more). The first few "bad" years of java could be justified by the age difference (different time/focus, .Net could learn from java, etc), but are presented falsely by shifting the time axis and by cumulating all those vulnerabilities of the first years of java.
.NET.
It is too bad that the article seems biased in how it presents it's research, because it does seem to look at some interesting issues.
That being said, most comments here on slashdot seem to be equally biased. I am a big open-source fan and dislike many (but not all) Microsoft products, but like to keep an open mind. As an experienced java programmer, I must say that c# has many interesting features and seems in some ways even better than java, both as language (no checked exceptions, explicit override/virtual keywords) as in the underlying IL. I liked the point in the article about the call/invoke opcodes, which seems cleaner on
Disclaimer: I can't claim I read the entire article, but I at least skimmed through it. I am also not an expert on (java) security models or bytecode/IL issues.
It is not as much the location that is important, but the ease of access to these settings. Having an easy to use tool to easily perform simple tasks (like windows often has) is nice. Having the possibility to easily use and/or make a large range of tools is much better.
That is what I like about most unix-like config files. I can use simple tools like grep, wc diff etc for simple stuff. I can use advanced setups using CVS, rsync, preprocessors etc for advanced tasks.
How many of the easy-to-use windows system administration have the possibility for:
I grant that tools like samba or apache might benefit from easy to use GUI's for simple tasks (I dont use webmin, swat very well, so they might be adequate, but I have the impression that they might be more difficult to find for starting users).
But the main point is that easy access to the configuration data is prime. By easy access I mean many things:
- logical location
- easy to use format (text format)
- good documentation
- etc.
In fact it would have been much better if they had forked from one common base. Less resources had been wasted on developing common bases, and they would probably be more compatible with each other due to the common base.
However, even in this case, with no fork involved, the competition might still be a healthy thing. I am not a heavy user of each of them and have no strong preference, but I assume there still are some fundamental differences in some matters that justifies the two different projects.
Also note that such competition is very common in the closed source world as well. However, in such cases the "intellectual property" might be the driving force, of companies offering very similar products which mostly vary on other aspects (like marketing, pricing, etc)
I consider the possibility of forking one of the significant factors of open source. It may even be the distinguishing factor against proprietary software.
First a good OSS leader might be more motivated to accept changes from other developers to prevent forks. This is like a healthy competition, where one party has little first-mover advantage, because others with good ideas can start from the same base. For me this is much better than when a certain project has a lead which stifles other projects because the have to much catch up to do before their cool improvements become attractive.
However, if the changes are too different from the opinions of the people in control, a fork is always an option. In this case the users can decide which branch they like best. If two (or more) branches exist for a long time with similar popularity, then probably they serve different purposes or user groups.
Note that one of the plusses would be that branches might possibly merge again once the differences are reconciled and the advantages of both branches might become available. Especially the GPL garantuees that such merging is always possible from a license point of view.
My final observation is that I usually consider the fact that a project has no significant fork as a sign of quality. Probably the project has made all (or most) right decisions that there is little need to fork. Usually it is better to go with the flow and be happy with 90% of the decisions and enjoy the support of many community members, than to have all you 100% wishes but be one of the few users. This is probably why you dont see much forks in general.
To conclude: The fact that a fork is possible is probably very valuable, even though (or as a result of which) forks do rarely happen.
Of those, Partimagelooks the most promising to me, though I still haven't had the chance to try it.
:-)
I have been using partimage for over a year now. I use it at the primary school of my daughter where I do most of the computer stuff as volunteer. I burned a rescue cd from timo's rescue cd with a few minor changes (root password and simple script to connect to network).
Once on the network there I made some simple scripts that can partition the disk, restore a MBR, and then restore a image for each partition using partimage. The scripts can use simple partition and image information from a specified directory. Works like a charm, especially the possibility to script it in total and restore individual partitions. We had a guy on internship who went "Linux, that sound scary", but when he restored his first image he said "is it that simple?".
As for NTFS support of partimage, I use it all the time without any problems.
One of the partitions, that is restored by partimage contains a small debian install. It is hidden by LILO which immediatly boots windows 2000, and not really used at the moment. I plan to use it in future to make a simple image restore possible even for teachers. Always nice to know there is some real Linux power hidden on these 80 desktops.
Many people are talking about Linux on the desktop similar as Windows especially with home users administering their own machine.
However the IBM and Perens articles hit me with a nice different viewpoint. Corporate driven with clearly targeted applications.
I think that might be a good strategy indeed. Having professional IT administrators design corporate desktops with all the control and power administration can offer. Similar desktop rollout and administration of windows machines is hard as well and needs a highly skilled staff.
Professionaly administrated machines is something Linux already excels in, and this can hold for teh desktop as well. That means that Linux might already be on the right track with ease of administration FOR PROFESSIONALS in organisations. This might be a quicker path to desktop succes than easy installation and administration for home users (and lets face is, most home windows PC's are a mess).
I agree totally that the article is definitely insulting for many contributors.
However, your posting made me think about how people might feel about some opinions/postings about them personally or their community (regardless if they are in the open source camp or not).
Let's ne honest, I have seen many similar insulting postings about people working at Microsoft in general and of course specific Microsoft individuals. I always like to treat ppl with ate least the same respect I would like to receive myself, even if I not agree with them.
I hope we can learn that it is no fun and probably counterproductive to insult people or IT/business practises, especially with so-called facts, and that the open source community would refrain from such postings and instead focus onall those informative, interesting and insughtful postings that makes slashdot and open source such a grand community.
Probably wishfull thinking, but wanted it said anyway.