Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Protocols and Standardization

Status
Not open for further replies.

Tarwn

Programmer
Mar 20, 2001
5,787
US
I've recently been working on a project concerning mobile phones and text messaging. What I have found is that while Europe and Asia were clearly ahead inthis arena and have all managed to work somewhat together at standardizing and using the same protocols, US companies have all adopted a great number of varying protocols and some have even invented hacked versions of SMS claiming (incorrectly as it later turns out) that their networks are not capable of supporting SMS messages.

The question or thought I have here is, when does purposely creating your own protocols or using non-standardized protocols become unethical?

We have seen a lot of this in other areas of the market place as well, software encodings that are sorta like the standard but slightly differant. XML and SOAP packages that differ slightly from everyone elses. OPC is generally a mess in the manufacturing world, with everyone on either a differant level of the standards or implementing the standards as a hack on their exiting protocols.

These companies have no real obligation (most of the time) to offer certain services. But I would think if they were going to offer certain services it would not only be unethical to mis-advertise them under a common name for a standardized protocol/service but also chancy in a monetary fashion.

Just wanted to see what everyone elses thoughts were on this, as currently I am getting ready to start striking cell phone providers from my list of accepted providers for this software basically out of frustration with dealing with proprietary "standards" that have little to no documentation.

01000111 01101111 01110100 00100000 01000011 01101111 01100110 01100110 01100101 01100101 00111111
minilogo.gif alt=tiernok.com
The never-completed website
 
I don't think there's anything inherently wrong with developing a different or non-standard protocol. Companies do it all the time. Put it out on the market and let market forces decide if they will adopt or reject it.

I think the ethical concerns arise where a company leverages an existing monopoly to force the adoption of an inferior protocol for which they will benefit financially.
 
Good question Tarwn, or, several good questions.

There is nothing wrong, IMHO, for any company to create their own protocols, or to use non-standard protocols. In fact, one could argue that allowing companies to develop new and different methodologies and protocols is at the heart of invention and progress. It's quite possible that handcuffing ourselves to a standard stifles innovation. XML and SOAP are examples of emerging technologies that as of yet, are too new for anyone to adequately know what would be a good standard to wrap around them. They are both still evolving at a rate that is incompatible with being standardized. I think we need to have a framework in which to use and contribute to the evolution of these tools, and whereas the framework may be standardized, the tools themselves are still in their adolescence and not ready for standardization.

To me, the notion of Standardization is an issue all unto itself. What exactly is a standard? What are the criteria which have to be met and accepted by whom in order to achieve standardization? Is the applicable technology mature enough to warrant anyone defining a standard? Is a standard being imposed on the technology for practical reasons? Or is an arbitrarily chosen standard being imposed on the users?

Standards also come on many different levels, and apply to different domains, from international standards, to industry standards, corporate standards, down to individual project standards. We even have organizations whose purpose in life is to standardize the handling of standards (ANSI, ISO, etc).

There is a huge semantic issue at play when dealing with standards. The ethical issue comes in abusing the semantics applied to the term “standard” – such as selling or promoting a standard defined and adopted within one domain, as being the standard over a different domain. In other words, a company that markets its company standard as being an industry standard is misrepresenting that standard. Or the organization that is perhaps declaring a standard that has yet to be adopted by the applicable domain. That, in IMHO, is a crossing of that nebulous ethical line.

Then there is the issue of partial adherence to the standard …

Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
I can see your point on standards and standardization in general, but (continuing the above example) even XML and SOAP have published standards, so despite them being new, wouldn't making your protocol slightly differant but still calling it XML and SOAP fall into the category on the other side of the aforementioned nebulous thin line?

My issue is this. If several companies all declare they are going to be developing hardware/software that abides by certain existing standards, yet they each decide to go just a little off in their own direction, then do later developers that plan to use those standards to create cross-platform/profider/etc have any possible way of reporting misrepresentations? No. So basically companies can freely misrepresent themselves as following xyz standards (whether htye be issued by IEEE, W3C, or whatever recognized group) while in reality their method is not part of the standard. In my eyes you either meet a standard or you don't.

Take the internet for example, what if every manufacturer of switches decided to implement TCP/IP just a little differantly than standard, perhaps by changing the locations of address fields or encoding the packets slightly differantly. The internet would never have gotten so far as it has if every router/switch/computer connected to it had to understand all of the others...or more likely each router/switch would have to convert from another protocol to their own and each computer had to have drivers based on which type of switch they were connected to.

The point being that the Internet would never have grown as fast as it has if everybody went off and did things slightly differantly. And changed those things occasionally. Market share would not have as much to do with whether or not the router companies grew because the internet would not have a lot of users and would be growing slowly compared to other sources of income.


<side though>I'm wondering if the cellular companies don't have an ethical responsibility towards their own growth to try and standardize. Instead of looking at the capability to send messages in a certain protocol as being a feature, they should be standardizing the capability then selling themselves based on load capabilities and speed of response...maybe I should write a letter to a couple of these companies and explain to them what these technologies could do if only they were all standardized, and how well it would pay back for them to do things the way they already say they are doing them...</side thought>
 
The classic example of differing standards hampering interoperability in IT is SQL. Every relational database engine has its own version, and while the core statements remain the same, do something just more than basic - for example a table join - and the syntax varies tremendously.
There is an ANSI SQL standard - why do the vendors choose not to use it?

John
 
Your example with XML and SOAP illustrate the difficulty with what is in reality a set of individual company standards, and not one industry standard. Until an independant industry-wide board, such as ISO, ANSI, etc, publishes a standard, then to me, it is not an industry standard. I agree with you that when individual companies (either alone or in concert) try to market their standard as being the industry standard, then ethical issues come into play.

You are also opening the discussion that I started in the last line - that being partial adherance. Perhaps certain classifications need to be made for meaningful discussion because partial adherance can come about in several flavors.

You could have a subset of the standard, but fully comply to the standard within your subset. Although that is only partially compliant, I really don't have an issue here because what has been implemented complies to the standard. Contrast that with one who only implements a subset of the standard, but violates a rule or two within the subset. To claim that as being compliant I do have a problem with. In fact, I have a problem with any implementation which alters the fundamental definition and expected behavior defined by the standard provided we're talking about an industry standard.

Suppose one vendor provides a superset of the standard, but is fully compliant to the standard with respect to the common elements. Technically, one could argue they are not compliant because they provide capabilities outside of the standard, but on the other hand, it fully complies with and implements the entire standard. I don't object to that, with the proviso that the vendor indicates which parts of their implementation go beyond the definition of the standard. That proviso is critical because developers need to know which parts of that implementation may not be transferrable.

The whole purpose of having a standard is so that it can be counted on, and something that should be relatively difficult to change because of the amount of dependancy which has been invested into that standard. That is why a certain amount of maturity in the applicable technology is a necessity before it can stable enough to be considered an industry standard.

We in this industry grossly overuse the concept of a standard and as a result, its costly, frustrating, and frankly, is unprofessional.

Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
That's a good example jrbarnett, but in my opinion it shows that all the various SQL engines are not standards. They are individual vendor SQL languages, which may be superset of the ANSI standard, but their specific language is just that, a language and not a standard.

The ethical question is not why do the vendors choose not to use it, but why do the vendors market it as standard SQL (assuming that they do market it that way) when it's not.

Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
My issue is this. If several companies all declare they are going to be developing hardware/software that abides by certain existing standards, yet they each decide to go just a little off in their own direction, then do later developers that plan to use those standards to create cross-platform/profider/etc have any possible way of reporting misrepresentations?

Another example of this is Microsoft's Active Directory. It's an implementation of LDAP (a standard directory service for locating users and computers), except for one little bitty field where they decided to use a bit that wasn't defined tightly enough. And now the two systems are incompatible.

Chip H.
 
My biggest issue with this topic is when something is marketed as conforming to a standard, but then doesn't. Whether it's an outright lie, or in some cases just misleading terminology, if you declare that you conform to a spec and turns out to be &quot;not exactly&quot;, then you have an ethics problem.

On the other side of that issue is the ability to enhance... i.e., creating a specialization/subset that works with your product, but not another. The issue here is the same as inheritance in OOP. The subclass may be specialized, but it still works with anything referencing its superclass. Extending is fine as long as it doesn't break the original spec.

As for who should make the spec, I believe the patentholder should have that authority. If there is no patentholder... then we must defer to standards-making bodies.
 
I wasn't crazy about the SOAP example, but just to comment on that. The W3C has declared a standard, whether people consider them a standard making body is probably discussion for another forum, but I personally do.

As far as super/sub-sets. I think that super-sets are fine because they offer the full funtionality of the protocol and thus can respond to any function call/decryption/whatever is defined by the standard. Subsets, on the other hand, only implement part of a standard therefore saying it follows the standard actually creates an environment akin to false advertising. If you say a product follows abc standard, then in my mind that means I can go through the standard and try everything stated in the standard and get the results outlined in the standard (or the return data formatted in a specific way, etc). To implement only part of a standard means you have not implemented the standard.

The one that really bothers me are the products that say they follow a certain standard when in reality they are only similar, but differant enough that going from a product that does follow the standard to a product that only says it follows the standard causes problems.

In a way, I could almost see grounds for a lawsuit based on false advertising. I mean if you say your product follows abc standard and it only sort of follows it, then your product doesn't really follow abc standard. The difference between sort of and following is pretty big from my end when I have to make a custom adapter just to talk to your pseudo-standardized protocol.

<aside>
Sorry, still a little upset about the SMS connectivity protocols I've been wading through...
</aside>

01000111 01101111 01110100 00100000 01000011 01101111 01100110 01100110 01100101 01100101 00111111
minilogo.gif alt=tiernok.com
The never-completed website
 
interesting topic - :)

Sorry, still a little upset about the SMS connectivity protocols I've been wading through...
Name and shame!
I used work with SMS too, but only in Ireland where this sort of thing didn't crop up :)
If you are trying to wrestle with US mobile phone companies' implementations - it may have to do with the fact that they [AFAIK] don't use GSM (a free standard) but rather a patented one (CDMA??).[/AFAIK]

good luck :p


Posting code? Wrap it with code tags: [ignore]
Code:
[/ignore][code]CodeHere
[ignore][/code][/ignore].
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top