(c) in OO software modeling language

From: Gabriel Wachob <gwachob[_at_]aimnet.com>
Date: Tue, 27 May 1997 15:19:24 -0700 (PDT)

OK. I have a real-world question for cni-copyright that at first seems really simple, but upon further reflection troubles me.

BACKGROUND:
UML, the Unified Modeling Language, is a set of notations with related semantics used for modeling on paper & computers Object Oriented Software designs. Its *sorta* to OO software engineers what I imagine the standard drafting symbologies and semantics are for architects.

Its rather new (UML 1.0 came out in January), and as such, there is really only one tool provider, (Rational Software), which has a tool out which uses it -- they are the ones who designed UML. The designers of UML have all been involved in formal OO software design methodologies which each used different notation systems. Now that they are all working for Rational, they decided to come up with a standard "unified" modeling language.

The language consists of 5 or 6 types of diagrams, each with their own symbols and semantics. For example, class diagrams consist of boxes with three sections (each section contains different information about the class), other types of boxes, lines connecting items, and various adornments to the lines and other items. The definition of the system is very well laid out in a set of documnents

Furthermore, in describing the semantics and relatioship of the various symbols, they define the elements of the diagrams (this is a slight simplification) using object oriented language - that is, they talk about the symbology as a software design itself - for example, a Dependency is defined (in part) as a subclass of Relationship (Dependency and Relationship are symbols in the modeling language). This is how the semantics (the MEANING) of the symbols and how they are to be connected in meanginful ways is described.

THE PROBLEM:
I want to implement a competing tool to theirs. (Really, I do!)

My question: how much if any of their specification can I use in making my product? Can I go so far as using their names for objects internally in implementing the tool?

At first blush, it seems like any use of their standard in a tool I write would be violation of copyright. Even if I change the names and shapes of the symbols, aren't I creating a derivative work?

At second blush, there are several problems with this.

  1. Idea/Expression dichotomy. At the very least, I should be able to use the symbols and defined relationships between them in creating a competing tool. I actually doubt they would assert copyright infringement here (they would like wide adoption of this standard, I'm sure), but I wonder. These are the big guys - what they say is *very* influential in the OOAD arena - is it good policy to allow them to pronounce a new standard and then assert copyright against anyone who attempts to implement the standard? Note that this is different from most Internet "standards" in that there are not as strong network effects (ie we could probably live in a world where everyone didn't completely agree on the same standard), and the expression is in large art the bulk of the work (ie what makes it useful). They designed the visual expressive qualities of the symbols at least in part on the way they work together and appeal to the eye.
  2. Authorship is not entirely clear - while certainly this standard is "published" by Rational, I think the standard is based on the experience and work of many many people named and unnamed.
  3. I don't want it to be protected - whats the point of standards (again, talking about communicative standards here) if its difficult to use them? Can I analogize UML to a programming language? I mean what if ATT (I think) had tried to assert copyright in the C language specification? There would only be ATT C compilers, right? What about Java? Sun hasn't asserted *copyright* in the Java specification, but rather has asserted TM all over the place (for a variety of reasons).

Anyway, the point is that what if I *do* implement the tool and it does wildly well (yeah right). Can Rational come back and say "CEASE AND DESIST?" If so, what does that do to an industry which would like to have competition in its tool providers? They would, of course, define a public-domain standard, but that would face significant hurdles..

Sorry for the length of the post - if you get here, smile!

        -Gabe


Gabriel Wachob                       http://www.aimnet.com/~gwachob
Law School GRADUATE!!! (5/24/97) http://server.berkeley.edu/BTLJ Software Engineer

gwachob[_at_]aimnet.com Alumni, BTLJ - Boalt Hall School of Law Received on Tue May 27 1997 - 22:20:53 GMT

This archive was generated by hypermail 2.2.0 : Mon Mar 26 2007 - 00:35:25 GMT