The following message is a courtesy copy of an article that has been posted to comp.lang.misc as well. Muvaw Pnazte <bugathlon / yahoo.com> writes: > So taking File as an example I can't see that chmod really belongs > there. I'm not saying that we should have FSUnixLike (mix-in?) where we > have functionality for such weird idioms like chmod. I feel that File > should be more generic. I feel that program which successful operation > depends on chmod, and thus is not runnable on DOS, should clearly point > out it's using such feature. For the chmod function, my belief is that Ruby simply relies on the C library's 'chmod' call. I believe it's a Posix function, and most C compilers have it in their library. So, Ruby programs are really no more susceptible to this problem than regular C programs. Under Cygwin on Windows, chmod does actually do something - you can use it to change a file's read-only status. However, perhaps it might be an idea to do as you suggest and separate out other calls, which are Unix specific, and make them available as optionally mix-ins. File.include_option('unix_features') Process.include_option('unix_features') This will certainly boost both portability and make documentation easier ;-) Regards Dave