Oracle Begins Aggressively Pursuing Java Licensing Fees (theregister.co.uk)
Java SE is free, but Java SE Suite and various flavors of Java SE Advanced are not, and now Oracle "is massively ramping up audits of Java customers it claims are in breach of its licenses," reports the Register.
Oracle bought Java with Sun Microsystems in 2010 but only now is its License Management Services division chasing down people for payment, we are told by people familiar with the matter. The database giant is understood to have hired 20 individuals globally this year, whose sole job is the pursuit of businesses in breach of their Java licenses... Huge sums of money are at stake, with customers on the hook for multiple tens and hundreds of thousands of dollars.
Slashdot reader rsilvergun writes, "Oracle had previously sued Google for the use of Java in Android but had lost that case. While that case is being appealed, it remains to be seen if the latest push to monetize Java is a response to that loss or part of a broader strategy on Oracle's part." The Register interviewed the head of an independent license management service who says Oracle's even targeting its own partners now.
But after acquiring Sun in 2010, why did Oracle's License Management Services wait a full six years? "It is believed to have taken that long for LMS to devise audit methodologies and to build a detailed knowledge of customers' Java estates on which to proceed."
Slashdot reader rsilvergun writes, "Oracle had previously sued Google for the use of Java in Android but had lost that case. While that case is being appealed, it remains to be seen if the latest push to monetize Java is a response to that loss or part of a broader strategy on Oracle's part." The Register interviewed the head of an independent license management service who says Oracle's even targeting its own partners now.
But after acquiring Sun in 2010, why did Oracle's License Management Services wait a full six years? "It is believed to have taken that long for LMS to devise audit methodologies and to build a detailed knowledge of customers' Java estates on which to proceed."
Larry Ellison is the greediest man on earth and Oracle is his prophet.
Having worked with both Java from Sun and Java from Oracle, there is a vast difference in ideology . It still seems that Oracle does not want to give up that the Database Engine is application and not just a data store. This is the reason I avoid any ADF type work. The database is just that a data store not the application.
I never thought I would be on the same side as them.
Why is Snark Required?
The rats know the Oracle Ship is burning and are trying to milk every last drop from the Java cash cow before they scurry into rafts.
Table-ized A.I.
The industry prefers a strongly typed language for certain mission-critical applications, but the choices are dwindling there. Dynamic languages are just a poor fit for certain applications.
JavaScript is not a viable alternative also because it has an awkward OOP model and/or syntax that forces one to over-use anonymous functions or lamdbas.
Table-ized A.I.
Isn't there an open source version of Java? What's the issue? Who cares what Oracle does if there's code available?
I agree, the question is if this headache may cause Ada to grow stronger. But even though C# isn't as good and strict as Java it's likely the language that will benefit from this.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
They are only going after companies that explicitly enable pay to use features of the ORACLE JVM. As in you cannot accidentally use these features, they just wont work. Of course any shitty intern can write a script that includes the required EnableCommercialFeatures flag, at which point you fire the intern and switch to the OpenJDK, which is the official reference implementation of Java without the commercial features of the ORACLE JVM.
I honestly don't know. At which point do you need to pay for Java?
Is it you need to buy a licence to write code in Java? Run the code you've written? Distribute your Java code to others?
Specialist Mac support for creative pros, Melbourne
But even though C# isn't as good and strict as Java .....
"Good" is subjective, but how is C# not as "strict" as Java? Is it because C# has a dynamic type? Honestly curious here,
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
Javas is not a proprietary language. Most people who use Java never do business with Oracle.
"First they came for the slanderers and i said nothing."
The overall story: Java is dead.
Java will die at a speed limited the by ability of large corporations to move away from using it.
I have seen them try to claim license fees for trivial things within my own company. It cost them in the long run, since IT abandoned their software in short order, due to this vindictive approach.
The crazy API copyright case made Java a non-starter for any new projects, since they effectively want to contaminate third party code bases with their copyright, if you use any Oracle APIs, making it impossible to port/wrap Oracle designed interfaces. It was something our legal people couldn't countenance, resulting in a Java ban. Not a good way to run your business.
I don't see Oracle having any long term future. Nobody would make a new deployment of any of their products. The Oracle database is still a good product, but for most workloads, open source or commercial alternatives are cheaper/faster. In my opinion Oracle is still a better all round product than nearly all the alternatives. That's not enough any more though. The prohibitive costs, poor support, threats, and contempt for customers are insurmountable barriers. Like Sun, I think Oracle will vanish in the long run.
I think those scripts that convert Java to C# are going to become very popular!
How about a Java to C++ converter at least it will run on pretty much all Linux and Windows systems or in the interim use OpenJDK
There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
What's wrong with OpenJDK?
So, as the article states, the Java SE downloadable comes with the JDK and JRE which are free to use "for general purpose computing", but the one of the key issues is that additional components such as Java SE Advanced Desktop, Java SE Advanced and Java SE Suite are also included in the same software package, but are not free to use without a license. While there is an EULA, there is nothing to warn users that installing those extra components is not free and there is no form of license checking to prevent user installation without a license. As a result there are many installations where the non-free components have been installed and it is this (in large part) Oracle are chasing money for. While Oracle may be able to point to the EULA, it may be possible this will fail the Reasonable Person test (ie. an average person downloading the package for free, and allowed to install the extra components unopposed, might reasonably believe that all the software in that package is free to use). It seems to be the software equivalent of a bait and switch. I wonder how long it will be before someone challenges Oracle on this tactic.
Why? Why would anyone be stupid enough to do that? It has every potential to turn into a case of "out of the fire into the frying pan".
Microsoft is not one bit more trustworthy than Oracle.
Microsoft has released a CLR implementation under an MIT license, has put everything required to implement the CLR into an ECMA standard, and has released a public promise not to sue for any patents involved in the implementation of a CLR. Some of the APIs are exempt, but these are largely the Windows-specific ones. If you write portable C# code, then it's basically impossible for Microsoft to sue anyone that provides you with a platform on which to run it. Oracle has shown that this is not true for Java.
I am TheRaven on Soylent News
Most of those issues are ones of taste, not significant barriers. The real problem with JavaScript is that it has a single numerical type, and that type is a stupid choice. You can't do 64-bit integer arithmetic in JavaScript in a remotely sane way.
I am TheRaven on Soylent News
Just don't bother with the debate. Scripting languages are great and useful and all, but people who ONLY write in them are not programmers. They are either sysadmins (a different discipline worthy of respect) or "web developers" (not so much).
However, ARM still maintains control
And if you want to see what happens when they don't, look at what happened to MIPS. Every MIPS vendor implemented their own extensions and you have a choice between portable code and code that runs at a reasonable speed. In contrast, ARM binaries run on any ARM system. RISC-V still hasn't yet designated different parts of their NOP space for trapping and non-trapping NOPs, so extension is going to be difficult, and the RISC-V Foundation still doesn't have a process for introducing extensions for review and standardisation. This is why the ARM ecosystem is so valuable and the MIPS ecosystem is a wasteland.
I am TheRaven on Soylent News
I agree with you! However, C/C++ isn't 'sexy' and isn't a buzzword thrown around to attract more students. Learning C/C++ is hard as a first language, though it makes for better programmers. Java looks easy but encourages bad design principals. I wish more CS schools would teach first principals like used to be taught 20-30 years ago.
Learning C/C++ is hard as a first language, though it makes for better programmers.
Yah, sure. I don't know of many that actually believe this, and you're gonna have to back up that statement a little...
It's time for a little uninstaller project. A nice piece of software that will make sure that you only have the free bits installed.
Suppose you were an idiot. And suppose you were a member of congress. But then I repeat myself. -- Mark Twain
Dynamic languages are just a poor fit for certain applications.
That's true. Different languages have different uses. There might be a few places where Java is the best choice - but not many.
I've seen far more projects (mostly database/web stuff) where a dynamic language like Javascript or Python would have been far better choices than Java. But Java programmers often don't know anything else (many can't even write a simple SQL query) so they try to use it on everything.
How does the Oracle culture impact VirtualBox. A lot of people like me still use it on our home desktops.
Don't forget to pay your $6,999,999 licensing fee, you cock-smoking teabaggers!
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
I think those scripts that convert Java to C# are going to become very popular!
How about a Java to C++ converter at least it will run on pretty much all Linux and Windows systems or in the interim use OpenJDK
If Oracle's appeal is successful (an API subject to copyright?), then OpenJDK is also threatened.
Java lives on in the same way x86 lives on...inertia. There's a LOT of software written in Java, a good portion of that is open source. e.g ArgoUML,CompendiumNG, etc Programs that would be hard to move to something else.
Learning C/C++ is hard as a first language, though it makes for better programmers.
Yah, sure. I don't know of many that actually believe this, and you're gonna have to back up that statement a little...
The Perils of JavaSchools
The Java [garbage collection] license [garbage collection] [garbage collection] [garbage collection] audit [garbage collection] [garbage collection] routines were
[garbage collection] written in [garbage collection] [garbage collection] [garbage collection] java and [garbage collection] [garbage collection] because of the code [garbage collection] [garbage collection][garbage collection] size the gar [garbage collection] [garbage collection] bage collector [garbage collection] [garbage collection] could [garbage collection] [garbage collection] not keep up.
Java is faster [garbage collection] [garbage collection] [garbage collection][garbage collection] than C [garbage collection] [garbage collection] you [garbage collection] [garbage collection] [garbage collection] just have to [garbage collection] [garbage collection][garbage collection] wait [garbage collection] [garbage collection] [garbage collection] for the JIT and [garbage collection] [garbage collection] GC routines [garbage collection] [garbage collection][garbage collection] to profile [garbage collection] [garbage collection][garbage collection] your [garbage collection] [garbage collection][garbage collection] code.
Oracle does NOT charge for Java or for the JVM. They charge for ancillary, additional products that can be used WITH Java. A lot of companies either didn't pay enough attention to the licenses or thought they could squeek by under the radar. And their getting caught. Complaining about this is like complaining that someone charges money for a Firefox plugin and saying Firefox is dead, yet not saying a thing when someone charges money for a Chrome plugin.
The amount of conflation and trumped-up hysteria around this topic boggles my mind. Look, I hate Oracle AND Microsoft. But use your brains people. Both are gonna try to rope you in with just enough "free" stuff in hopes that you will end up paying for their very-not-free stuff. Get over it. It is part of your job as a programmer to make sure you don't use any products or code you aren't willing to pay for.
It's only a marginal advantage. I've seen plenty of bad Java code that rethrows exceptions from the Java API as RuntimeException (which acts like C# exceptions, in that it can be silently thrown from any method without warning) or has catch (Exception e) {} everywhere to avoid dealing with exceptions "until later".
I know everyone loves to hate on Java and Oracle, but my understanding is that in order to access the licensed features, you have to deliberately add the command line arg "-XX:+UnlockCommercialFeatures". It doesn't seem like rocket science what this might mean...
Yes, we're saying the same thing. Pick the right tool for the job.
How about Oracle focus on its' well-deserved greedy reputation, and resolve to actually produce products that have been designed for reliability and verified by competent testers before unleashing bags of bugs on the Internet?
The whole POINT of Java has been: Make the platform open source, and license the developer half of the project: Developers pay for the tool, and right to run on the freely distributed platform.
The whole RESULT of Java has been: Customers have to frequently update "free" Java to "fix bugs," which--in the process--makes prior dependent code unreliable.
The entire idea is founded on a thin layer of fermenting bullshit, and I wish we'd just all abandon it. In fact, all platforms serve a (usually short) useful life, compared to other durable products. If we developed cars like we develop most commercial software, we'd still be driving V8.111 of the original Nash Rambler, with its' monthly required return to the shop for repairs.
Most computing devices sold in the last few years run Android, and are therefore programmed primarily in Java. As a result we now have a whole new generation of programmers raised on Java.
One can certainly make the argument that Java SHOULD die, but half of young programmers are below average and therefore would have difficulty switching to a new language built around a different paradigm. They'll stick to Java.
Oracle begins aggressively trying to Kill Java.
Java is already starting the death phase, and Oracle just wants it to die already by trying to encourage companies to not use it.
Do not look at laser with remaining good eye.
Just don't bother with the debate. Scripting languages are great and useful and all, but people who ONLY write in them are not programmers. They are either sysadmins (a different discipline worthy of respect) or "web developers" (not so much).
Scripting languages are extremely useful and powerful in all manner of data processing tasks which is increasingly spreading into data analysis.
Actually, Sun originally aimed to create an entire ecosystem of a platform from Java. It included modifications to C++ as a language, including virtual machines to solve the issue of cross-platform portability, and even a (short lived) CPU platform that would have used bytecode as the instruction set.
The reason most of the users went to PC/Linux platforms was that you had Linux that was a common factor to both x86 and SPARC, and you not only had lower prices for the former, but it also had a wide range of price points compared to SPARC.
It's a good article, but he does not make the argument that you say. He says that teaching C first filters out a lot of bad programmers, not makes good programmers. These are not quite the same thing.
If a school wants to make good programmers then they shouldn't teach C first as it is a horrifically bad language for learning. Joel makes the argument that it is good for testing ability. Python is actually a good first language for learning. Maybe C as a second language to learn about memory and pointers. Probably Haskell as a third language to open their minds a little.
Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
Half of all programmers are below average. It's a statistical tautology and meaningless. How does it follow that being less than average at being a professional programmer would make them incapable of being less than average at another programming language?
RISC-V still hasn't yet designated different parts of their NOP space for trapping and non-trapping NOPs, so extension is going to be difficult, and the RISC-V Foundation still doesn't have a process for introducing extensions for review and standardisation. This is why the ARM ecosystem is so valuable and the MIPS ecosystem is a wasteland.
I remember ARM's earlier work, which had the very same difficulties you describe for MIPS architectures. Every implementer had a separate memory protection/paging architecture, every one had a different interrupt routing architecture. What a grinding mess that was... They wised up *just in time* (IMHO), establishing core ("Cortex") functionality which is required for all implementers. That stabilized the ARM ecosystem enough to allow it to grow dramatically.
If the implementers of RISC-V are wise, they would establish and agree on functional (powerful, effective) support structures such that it's possible for developers to implement kernels and OSes around it.
Given Softbank's purchase of ARM, I am watching their actions very closely. All of the embedded devices used in my company and many others are Cortex-M3, -M4F, and the many -A series processors. Softbank is in a position to increase their IP licensing fees for immediate profit, screw over the entire embedded marketplace, and would end up, after much consternation in the embedded world, ceding the market to competitive low-end X86 and one of the lesser-known architectures (MIPS: Microchip's choice for PIC32. Irony... :-) ). This is a good place to mention RISC-V *if* they are smart about portability.
How bad will anyone feel when they go belly up like SCO.
https://www.youtube.com/c/BrendaEM
Half of all programmers are below average. It's a statistical tautology and meaningless.
Not quite meaningless, it implies that the average as the same as the mean. BTW, isn't "meaningless tautology" a superfluous redundancy?
When all you have is a hammer, every problem starts to look like a thumb.
The real problem with JavaScript is that it has a single numerical type, and that type is a stupid choice. You can't do 64-bit integer arithmetic in JavaScript in a remotely sane way.
It seemed to make sense at the time, when Livescript was just a quick hack for simple dynamic web glue. But the fact that this gaping wound made it through multiple upgrade and standardization cycles has to be a major embarrassment for all concerned.
When all you have is a hammer, every problem starts to look like a thumb.
I agree with you! However, C/C++ isn't 'sexy' and isn't a buzzword thrown around to attract more students. Learning C/C++ is hard as a first language, though it makes for better programmers.
There is no language called "C/C++"! There is a language called C, and there is another called C++. They share some syntax (but not all), and one is occasionally (and incorrectly) considered to be a subset of the other. Not only is it not a subset, it isn't even a true that "a large majority of C programs also compile as C++ programs". They are very different languages, and using them proficiently requires a completely different mindset from the programmer.
This lady explains how C++ should be taught, and it is not as a superset of C: https://www.youtube.com/watch?...
Let me be a bit more explicit, since you had trouble understanding the more diplomatic language:
There are 3 million Java programmers who aren't that bright. They won't be able to easily switch to a completely different way of doing things.
Speaking of the fact that many people aren't that bright and have trouble understanding new things ...
"Microsoft is not one bit more trustworthy than Oracle."
From a Network World article: Windows 10 is possibly the worst spyware ever made. Quote: "Buried in the service agreement is permission to poke through everything on your PC."
I understand the C# has some advantages over Java, but as I don't use either this is just second- or third-hand information. I really *should* investigate C# more thoroughly, but it's my expectation that it's not any better than Java, and Java isn't a viable choice for various reasons, but the main one is the piss-poor handling of unicode strings. I could understand utf-8 or utf-32, but utf-16 is a garbage choice made for historical reasons.
This article give me yet another reason to avoid Java.
I think we've pushed this "anyone can grow up to be president" thing too far.
Both C++ and Java are LOUSY first languages. C is all right, but not really great. Still, you can get quick results with C, so teach a month or two of C and then switch to something like a simple assembler (it'll have to be the assembler for a pseudo-machine rather than a real one, as the real machines have gotten too complex). I believe that some of the MUDs have suitable pseudo-machines, or if not that, perhaps the Perl6 pseudo-machine. MIX would have it's points, but with a MUD machine you can get fast results that are interesting. It needs to address variable allocation, indirection, registers, etc. Even the i6502 was more complex than is ideal. From that point of view MIX was nearly ideal, but it didn't yield interesting results easily. Then ideally you'd cover extending the MUD with routines written in C, but I think this is already probably more than a first year course.
One thing I really missed when I got out of college was that none of my courses had covered handling files. But unless the interpreter handles that easily perhaps that should be left for the second course. It's not really basic. OTOH, large hard disks have made the topic much more important.
I think we've pushed this "anyone can grow up to be president" thing too far.
BTW, isn't "meaningless tautology" a superfluous redundancy?
Well played, sir.
Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
I have to disagree. Almost every use-case I've seen for them is because either the language, including Java, also has a poor OOP model (which you seem to agree to later), or the API is poorly designed.
For example, why can't one add an OnClick method *directly* to a button object? Why go through the Listener middle-man thingy? That's silly. 98% of the time a GUI implementer shouldn't have to give a damn about a Listener engine; that should mostly be hidden guts.
I kind of agree. I wish languages were better designed to be strong/static, and dynamic where needed instead of all or nothing. Root API's are usually best as strong/static typing, but the outer layers usually best as dynamic. It would be nice to declare some modules as strict and others dynamic.
Table-ized A.I.
Javas is not a proprietary language.
That will be decided when Oracle v. Google is appealed.
No because C# needs to die.
You may not like it, but C++ and C are what interfaces directly to your hardware.
~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
That's a very concise way to refute your points. Your appear to be indicating that:
a) Millennials are highly competent, at least at at programming / mathematical type tasks.
b) You take personal offense at anything you perceive as a criticism of "millennials".
c) Half of younger people, and most older peopler (more than half of all people) are below average.
Points (a) and (b) strongly suggest that you *are* a millennial, point (c) demonstrates you are incapable of understanding fourth grade arithmetic.
No, you are wrong. Oracle v Google has nothing to do with whether Java is a proprietary language, because it is not addressing whether languages are copyrightable (only the APIs).
And if you're thinking that the APIs are a critical part of the language and thus should be included in your sloppilly worded sentence, then you're still wrong: Java is licensed under the GPL, and Google's problem is entirely that they didn't release their implementation under the GPL (which they've changed now, and thus will continue to use Java freely even if they lose the lawsuit).
"First they came for the slanderers and i said nothing."
Just in time to pump up the awesome C++17.
It's especially annoying as there are idioms that will force all major JavaScript implementations to treat a value as a 32-bit integer, yet none that will work properly for 64-bit arithmetic, because the standard explicitly prohibits providing more than IEEE 64-bit floating point precision. It's even more annoying when you use the TypedArray types, where you can load and store 32-bit floats, 64-bit floats, 8-, 16-, and 32-bit (signed and unsigned) integers, but you can't even store 64-bit values - you have to treat them as a pair of 32-bit integers and perform your calculations as if you were dealing with a bignum.
The depressing thing is that Smalltalk solved this for dynamic languages sensibly in the '70s. Smalltalk had SmallInt objects that were embedded in pointers and were transparently promoted to BigInt objects on overflow. It also has a family of Float classes that implement fixed-precision floating point values (either the IEEE standard sizes or user-defined sizes if you'd prefer to trade speed for more precision).
I am TheRaven on Soylent News
virtually every ARM system requires a custom OS build.
That's not really true. With FDT (or ACPI in ARMv8), kernels can auto-configure. It's only older (pre-ARMv7) systems that need a lot of system configuration. We have had working generic ARM kernels for FreeBSD for a while now.
Few will extend the architecture in non-standard ways, because of the trouble that entails in the toolchain
This is exactly what happened with MIPS. People extended it and provided their own GCC version. The GCC changes were never upstreamed because, in most cases, they broke other MIPS targets. The vendors didn't maintain them, so you're always stuck with some vendor's old GCC version and all of the bugs that it brings. ARM managed to avoid this, encouraging people to move the innovation to other cores on the SoC.
I am TheRaven on Soylent News
For every engineer hired, also hire 2 lawyers
Because having a final else clause for the unexpected ones is better?
I suppose that depends on what the final else case does. If it ignores them, it's much worse, if it raises them, it's the same. No better in any case.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
C isn't a great 'first language'. But it better be the second or third or the programmer will be forever handicapped by low level blindness (see also: every Java only programmer you know). It makes a good segway into assembler (which should be the third or fourth language). Forth would also be a good early down and dirty language choice, but C derived is a very common pattern.
First language should be an easy peasy toy, but one with minimal 'stupid shit', so not Python.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Nobody should be allowed to start a CS or EE program without a demonstrated ability to program three high level languages (or one high level and assembler). Also assembler was a freshman course in my EE program. Your understanding or high/low level is backwards, EEs are down and dirty in the silicon, CSs argue about 'Turing completeness' and the 43rd normal form for databases.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
You can write Fortran in any language.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Welcome Open Source world to...Microsoft and .NET.
If the golden goose isn't laying enough eggs, threaten it with a carving knife - and shakedown our customers while you're at it. --Uncle Larry
If the idea is to charge licensing and support fees they will probably kill Java. To me its great I never liked Java.
I think it's probably reasonable to interpret "C/C++" as "C or C++" in good faith to the poster.
ORACLE = One Real Asshole Called Larry Ellison
Why would you learn your programming in school? There is this thing called the internet, it make self learning easy for computer related subjects. Actually has some competent programmers, unlike almost all HSs.
I had more than that requirement, learning from books and coding an 8 bit microcomputer (and some punched cards at the local Jr College).
These days, that standard is low. Ask around the successful programmers you know, I bet all the best of them are initially self taught at a young age, then backfilled with formal/on the job training.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
None of those programmers will ever be worth hiring.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
It helps by being interesting to the students. Got some other really simple interpreter that yields interesting results and maps nicely onto assembler? If so, pick that, and be just as satisfactory. Some of the MUD interpreters (at least used to) have the equivalent of registers, jump tests, program counters, address registers, etc. What you do(did) with it is design a simple Zorkish game. It's valuable only for the same reason that essays are valuable in English classes.
I think we've pushed this "anyone can grow up to be president" thing too far.
There are no 'programming degrees' worth discussing, people who go to college for CS or EE that only start programming in college are like music majors who don't pick up an instrument before college, useless. You may not like this fact, but it remains true.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Many PHBs have worked with only 'excellent programmers'. Your opinion means as much as theirs.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Do you really think people will be running C# on all the Linux boxes these systems run on? Beyond Exchange servers and SQLServer, I know of few server side apps running on Windows servers.
Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato