I was perusing through the latest Java news today when I stumbled across an article talking about how Oracle is changing their update / critical patch versioning number scheme to address confusion experienced by industry experts and from within the company itself. Of course the problem is that this change created even more confusion. It got me thinking about how the tech world today seems to be experiencing more and more confusion as hardware vendors, software makers, programmers, designers and companies in general all start doing their own thing. Everyone seems to be creating their own standard even if it is only slightly different than someone else’s standard when perhaps they should be working together. These differences in standards form a sort of gray area where I think we see many exploits and vulnerabilities occurring.
Let’s assume that a child is told by their mom that if it is raining outside, it is ok to play inside the house. Later the child is told by their dad that if they ever find a lighter or matches outside, to leave it alone and not play with it. Two very wise and solid set of rules I am sure. One day the kid wakes up to see that it is raining outside so they understand that will be playing inside but as they do, then stumble across a pack of matches. Being that they are not outside, the kid figures it is ok to play with them and of course burns the house down.
Now if the parents had gotten together and told one another the set of rules they might have had come up with a more solid all encompassing rule set governing what is acceptable parent rearing. That rule set may would have a greater chance at covering the idea of matches in the house. The child was doing what they were told but since the situation fell in the gray area between the two rules, it lead to a disaster.
Standards are a great way of communicating intention between parties and creating a set of rules that govern how things should work. When we don’t communicate with one another, using a standard, we tend to experience problems that fall through the cracks. The bigger the miscommunication between the two parties the larger the footprint for potential exploitation becomes.
Here are some current trends I am seeing that really could use better standardization to might make the world a better place. I think if the parties involved were to work together more effectively we would see global exploits drop dramatically. Of course these are just some of the many examples out there. Like I said, it seems everyone out there making it much worse.
I am sure many developers out there know what I am talking about. You have party A doing one thing and party B doing something else and some how you have to reconcile the differences and cover as much of that gray area as possible in your solution. You are the babysitter who has to come in and rip those matches away from the child in the house. You can only do so much and if party A and party B could only talk to one another and come up with a set of better rules, following them would be much easier. Following better rules void of vague, imprecise and ambiguity can create more secure solid integrated solutions.
I can see why some new programmers get confused as to which standards to refer to, rules to follow and how to merge two technologies which should be the same but are quite different. Experts continue to experience that too. I think that if we can just all get on the same page then the version 1.7.23 means the same thing to you, that new programmer who started a programming course yesterday and Oracle.
Have an opinion on this idea? Let us here about it! Write your comments below. Thanks for reading! 🙂