Home AMX User Forum AMX General Discussion
Options

What happens to the code when a company dissolves

I'm sure some of you heard about VIA International going out of business, but for those that haven't, they were a national integration company that was in business one day, and not the next. There is some discussion in other forums about some of the ramifications of this, and one of the issues being discussed is how clients can access their control system code now that there is no longer a company.

My question for the group is this, is there any reason you can think of to not just put all code on Github so that clients will have access to it no matter what happens to the company?

I can't really think of a reason to not do this. Obviously any sensitive information like passwords or api keys would have to be included in a file that didn't get synced to Github. But otherwise, I can't see there really being any issues. If there is some code you want to keep secret for whatever reason, it can always be put into a module and only the .tko synced to Github.

Am I missing an obvious reason to not do this? Is anyone else doing this?

Comments

  • Options
    ericmedleyericmedley Posts: 4,177
    There are definitely differences of opinion on this subject. The raw legal (at least in the US) thinking is that code written for a client in which the integerator/programmer was paid (commissioned) to create the software is a "Work For Hire" and the copyright is therefore owned by the client. However, many feel that the client is "Licensing" the software from the integrator. This only holds up in a court of law if the software in question fits the description of a software product that can be proven to be repeatable and widely distributed. (Not a "one-off" type thing)

    I'm sure there are many here who by this point in my post are already angrily typing a contrary response. I am not an intellectual property lawyer but my many years of experience in the music industry leads me to believe what I say is essentially true. If I were in your shoes I would not put the software on a GitHub repo. I would have a create a form letter to send to all your clients that basically says you are in posession of the code and are offering (as a courtesy - important) to provide them with a one-and-only copy of the code in the most current form (CD or USB thumb drive) If the client claims the copy - or - if they fail to claim it and a certain period of time passes (say 12 months) you no longer have or can service the code. If they take the copy - then you can negotiate with them to further service them. The expiration date is important.

    That's my advice.
  • Options
    viningvining Posts: 4,368
    I think it would be easier to just send the clients a cd with the files and/or for xx amount of years put the files on a drop box account and give each customer their own shared link so they can only access their own share to download it. I think it's pretty rotten to leave clients high and dry if they paid in full, even if the company does dissolve there's an expectation that the client's rightfully have to get what they paid for.
  • Options
    ericmedley wrote: »
    There are definitely differences of opinion on this subject. The raw legal (at least in the US) thinking is that code written for a client in which the integerator/programmer was paid (commissioned) to create the software is a "Work For Hire" and the copyright is therefore owned by the client. However, many feel that the client is "Licensing" the software from the integrator. This only holds up in a court of law if the software in question fits the description of a software product that can be proven to be repeatable and widely distributed. (Not a "one-off" type thing)

    That sounds like something that could just be defined in the contract; "the code we are providing is being licensed for your use in this project and is not your intellectual property" (or something along those lines, clearly I'm not an attorney). Or even better, just tell the client that the code you are providing is being licensed as open source and use a standard creative commons license.
  • Options
    ericmedleyericmedley Posts: 4,177
    TonyAngelo wrote: »

    That sounds like something that could just be defined in the contract; "the code we are providing is being licensed for your use in this project and is not your intellectual property" (or something along those lines, clearly I'm not an attorney). Or even better, just tell the client that the code you are providing is being licensed as open source and use a standard creative commons license.


    This kind of thing is what's so interesting to folks who like Intellectual Property Law. (I have to deal with them a lot and they will often break into lengthy conversations about it with no provocation - thus ruining an otherwise enjoyable lunch) It's the curious crossroads of civil vs. criminal law. The criminal statutory side of the law is pretty clear: If you were hired to create something - It's a "Work For Hire" regardless of what the parties agreed to prior. For example: you cannot agree to sell someone illegal drugs just because you had a written contract between the parties saying it's not illegal. The Copyright laws protect the copyright owner unconditionally as described by the law without their force. The major difference in the US is that there is not government enforcement of the laws. It is left up to the allegedly injured party to enforce if they feel they've been injured.

  • Options
    If you provide programming as a "Licensed" product best practices would see a copy of the source code placed in escrow and made available to the licensees if the licensor disappears or otherwise fails to maintain and update the software as promised in the software license agreement.
  • Options
    a_riot42a_riot42 Posts: 1,624
    ericmedley wrote: »
    The criminal statutory side of the law is pretty clear: If you were hired to create something - It's a "Work For Hire" regardless of what the parties agreed to prior.

    Not sure what you mean by "criminal statutory side of the law", but almost nothing in software copyright law is pretty clear. Software programs are considered a literary work in the US, and so the author (programmer) owns the copyright. If you are an employee and the software you write is done during the normal course of employment, the company owns the copyright, usually. It gets much murkier when you are a contractor as many programmers are. Just because its a work for hire arrangement doesn't automatically transfer copyright from the programmer to whoever commissioned the software.

    In regards to the source code, we lease the program to the client, so they have no legal right to the source code. Many AMX modules have taken a long time to perfect, and have hundreds of hours of labor in them, so handing that over to someone else at no cost would be business suicide. Once a company is out of business though, they have no assets, and so clients have little recourse. AMX doesn't release source code, similar to all proprietary software companies, so its hardly novel in the industry. I'd love to get the source code that runs my iPhone, just in case Apple goes out of business and leaves me with a useless phone. Somehow I don't think they'll hand it over if I ask.
    Paul
  • Options
    ericmedleyericmedley Posts: 4,177
    a_riot42 wrote: »

    Not sure what you mean by "criminal statutory side of the law", but almost nothing in software copyright law is pretty clear. Software programs are considered a literary work in the US, and so the author (programmer) owns the copyright. If you are an employee and the software you write is done during the normal course of employment, the company owns the copyright, usually. It gets much murkier when you are a contractor as many programmers are. Just because its a work for hire arrangement doesn't automatically transfer copyright from the programmer to whoever commissioned the software.

    In regards to the source code, we lease the program to the client, so they have no legal right to the source code. Many AMX modules have taken a long time to perfect, and have hundreds of hours of labor in them, so handing that over to someone else at no cost would be business suicide. Once a company is out of business though, they have no assets, and so clients have little recourse. AMX doesn't release source code, similar to all proprietary software companies, so its hardly novel in the industry. I'd love to get the source code that runs my iPhone, just in case Apple goes out of business and leaves me with a useless phone. Somehow I don't think they'll hand it over if I ask.
    Paul

    I'm not a lawyer and I'm sure I'm using the incorrect terminology. I hear a lot of music/copyright lawyer types using the term 'criminal' in what I assume is kind of a slang for the theory of how it's written and how it's enforced (or the lack of it).. at least that's how its explained to me anyway.. It's not a thing where you can go to jail. I hear comments how sometimes the intellectual property laws sometimes look and act like a thing that almost behaves like criminal law but other times looks like civil law. The other thing I hear is that the statues are deliberately vague in order to attempt to allow the courts to have lots of leeway to make decisions, which tends to create a lot of confusion on just what the laws say.

    And on the issue of it being clear or not clear - I feel that whenever I am forced to read any part of the various laws they seem pretty clear to me. However, I've heard two lawyers (both very qualified) come up with completely different interpretations of what it means.

    I guess what I'm going on about is in my experience in this kind of thing, We lay people often act like a kind of pseudo-legal expert (Heck, I'm doing it right now) I've seen many contracts signed by high-level people where you find out later that an actual lawyer was not involved in crafting the thing in the first place. For me the record producer, its kind of an annoyance and I have my own set of contracts I use that were drafted by lawyers I trust that seem to keep me safe from the unwashed masses. And after all, it's just music..

    In this arena however, I'm often dealing with stuff that can get someone in some pretty serious financial trouble. So, when I see the same pseudo-legal behavior (myself included) I start getting a bit fidgety. I guess this is just a very long way to say that most of us (I know of one person on here who actually is a lawyer) are not lawyers and we should be careful.
  • Options
    a_riot42a_riot42 Posts: 1,624
    ericmedley wrote: »

    I'm not a lawyer and I'm sure I'm using the incorrect terminology. I hear a lot of music/copyright lawyer types using the term 'criminal' in what I assume is kind of a slang for the theory of how it's written and how it's enforced (or the lack of it).. at least that's how its explained to me anyway.. It's not a thing where you can go to jail. I hear comments how sometimes the intellectual property laws sometimes look and act like a thing that almost behaves like criminal law but other times looks like civil law. The other thing I hear is that the statues are deliberately vague in order to attempt to allow the courts to have lots of leeway to make decisions, which tends to create a lot of confusion on just what the laws say.

    And on the issue of it being clear or not clear - I feel that whenever I am forced to read any part of the various laws they seem pretty clear to me. However, I've heard two lawyers (both very qualified) come up with completely different interpretations of what it means.

    I guess what I'm going on about is in my experience in this kind of thing, We lay people often act like a kind of pseudo-legal expert (Heck, I'm doing it right now) I've seen many contracts signed by high-level people where you find out later that an actual lawyer was not involved in crafting the thing in the first place. For me the record producer, its kind of an annoyance and I have my own set of contracts I use that were drafted by lawyers I trust that seem to keep me safe from the unwashed masses. And after all, it's just music..

    In this arena however, I'm often dealing with stuff that can get someone in some pretty serious financial trouble. So, when I see the same pseudo-legal behavior (myself included) I start getting a bit fidgety. I guess this is just a very long way to say that most of us (I know of one person on here who actually is a lawyer) are not lawyers and we should be careful.

    Mzybe. I've met some pretty stupid lawyers though that gave me obviously incorrect advice. Most civil lawyers never go to court, and so have little court experience on how juries and judges see things, so you should take what they say with a huge grain of salt.

    There seems to be a push in the home automation business to release all the code to the client though, and I simply don't understand this view. No software company that I am aware of hands the source code over to all their customers simply because they bought a copy of the binary, so I don't understand why it would be expected of an AMX dealer. For companies that have self configuring systems like John Nagy's company, that would quickly put them out of business. So I just don't understand why people think that just because they have a custom system programmed, that the source code is included in the price.
    Paul
  • Options
    imsocoimsoco Posts: 46
    It is hard to let go of something you spent weeks writing, but the code I wrote a few years back does not resemble what I write today. When I looked at some old clients code, I realized finally it is OK to let the clients have it. It installs a bit of the customer's confidence in you. Whenever I come across a home being sold without the code, I suggest to the buyer he make it contingent on the sale. That really creates a lot of motivation to get that code.
    There is an integrator that left Vegas without giving up the code to his clients. I have had to rewrite two of his jobs, which is good for me and cheaper for the client rather than pay the original programmer tens of thousand dollars, again. It is about time to let go and embrace the changes coming our way.
  • Options
    viningvining Posts: 4,368
    For one I think it's sort of absurd to compare an AMX system which is definitely a contracted system between two parties and something like an iPhone which is a mass marketed off the shelf item, clearly there is no "work for hire" expectations on something bought off the shelf. Even if we're not discussing a company going OOB that clearly has nothing to loose by releasing their code it's the proper thing to do if requested unless the contract specifically states otherwise so that any expectation of ownership is addressed before the work is performed.

    In cases where a dealer uses something like CineTouch they don't have the source code in the first place and merely bought a license to use what amounts to an off the shelf product so there is no "work for hire" related to that code either only the time it takes for data entry and the config sheets used to set it up would be considered the clients property and the CineTouch license most likely is tied to the end user not the dealer.

    IMHO unless you explicitly state in your contract that the source code created specifically for any job is the property of the dealer and not the client and merely licensed to be used by the client for what ever terms you include in that contract I don't think any decent lawyer would have a hard time convincing any judge or jury that the code specifically written for the client belongs to the client.

    As far as the dealer's modules which is clearly not specific to any one client wouldn't be considered "work for hire" since that's basically the dealer's own off the shelf product and that can easily be supplied in .tko form only. Of course that's still usable by others so if I were to get into this type of situation where I was worried about someone taking advantage of my thousands of hour worth of effort I would bind said modules to their specific master or something else like comparing the public IP of a client to a dns resolution of of the clients IP using a dyndns account if they had one of their own so I wouldn't be bothered when a master craps out. Built in GPS would be cool for this too so that modules are tied to a specific location.
  • Options
    John NagyJohn Nagy Posts: 1,734
    Well, I am a lawyer... and while there is good advice and bad, just like good doctors and bad, and good integrators and bad, if you talk to a professional, you are more likely to get an educated opinion than not. And the opinion will vary!

    In reality, when and if such license/ownership issues get to court, the judge will seek a solution that is fair to the customer, while observing reasonable ownership rights of the author, regardless of what a contract says. Refuting a contract isn't particularly hard when one party understands the jargon and tech and consequences, and wrote a form contract, and the other party had no real choice but to agree. Sort of like when you click OK at the bottom of the iTunes agreement. It's primarily a lawsuit deterrent, more than an actual contract. "Contracts" are by definition a meeting of the minds with mutual interrelated responsibilities, "bargained-for goods or services for bargained-for consideration/payment. The further your case is from an actual mutual understanding (you can argue), the less binding the contract might be, . Not that contracts don't matter... they are the first line of defense and solve most issues. When the contract works a major disservice to one party in a way not specifically or reasonably contemplated by the parties, a judge will seek fairness OUTSIDE the contract. Sometimes. In court, the judge often decides what is the right thing to do, then researches the law for support his decision. The lawyer's job is to present their best arguments and support for their side, and it goes as it goes.

    Anyway, yes as a rule, source for chunks of "stock" reusable code don't belong to your customer, parts you build to spec generally do. Except when a judge says that's not fair in the case presented. But if your code (like ours) is more akin to WORD FOR WINDOWS, an authoring tool/core engine, than it is to a book you wrote to a specification, you own the tool, they own the book.

    We're also picking up pieces of the collapse of this recent super group, as we have many other defunct dealers... and let's face it, someone else's source code is seldom very useful if you need to do more than add a button or swap an AVR. Fortunately for our product, we can configure it to match any existing wiring and hardware... if we can figure THAT out. That's sometimes as messy as someone else's undocumented source code...

    "This message does not constitute legal advice." (just sayin...)
  • Options
    John NagyJohn Nagy Posts: 1,734
    Addendum:
    Just an FYI, in the case of CineTouch licenses, we do see them as the property of the end user, or anyone rightfully possessing the licensed NetLinx (not via EBAY, but being the original purchaser or the buyer of the home after the fact)... but our contracts are with the dealer, and we try to never deal with the end user at all, unless the installing dealer has left the scene and can't be reached. Then we try to pair the owner with another dealer, even if not a CineTouch dealer, and we will help that dealer support the job... even if we do the actual data work required for the site.
Sign In or Register to comment.