Thread: Free (time) project

  1. #1
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459

    Free (time) project

    G'day,

    I have, what you could say, is an Ethical question. I work at an internet establishment part time, so pretty much, uni -> work -> home. When I started I noticed the software for logging-in and out customers was rather poor, such as it depends on IE6 and doesn't work on IE7. And software in this area generally seems to be poor, so needing a project I thought it would be a pretty nifty one (that is a project that I can see being used by the general public).

    In short my boss caught wind and thought it was a rather good idea (the project is now no-longer open source), and has started "adding" ideas. These ideas are far to complex for what I had in mind, for example feature X and credit-card payment. And there now is a sort of, virtual deadline. He has already begun to tell other people about it, and plans to make a kiosk with my software* and sell it to people or install the kiosk around the place^.

    * He has asked me to concentrate on feature X side of things rather than the other stuff (the projects original goal!).

    ^ This has made the software extremely complex, since he'd like to have one (yes one) server for the country and all the clients connect to that to login/out. For example, since credit card information could be going across the internet something like TLS on top of my simple protocol will be required (or a web page where they can buy credit).

    So my question is, what should I do? I'm not being paid at all to work on the software, even though I work on it at work sometimes. I feel like I'm perhaps being used

    NB: Some key terms have been replaced, to stop this post from appearing at the top of google :-)


    -Z
    Last edited by zacs7; 04-30-2009 at 10:34 PM.

  2. #2
    Banned ಠ_ಠ's Avatar
    Join Date
    Mar 2009
    Posts
    687
    You're in pretty deep there, if you decide to back out of it you'll just end up embarrassing your boss. I think that trying to negotiate some extra pay would be about as much as you can hope for.
    ╔╗╔══╦╗
    ║║║╔╗║║
    ║╚╣╚╝║╚╗
    ╚═╩══╩═╝

  3. #3
    In my head happyclown's Avatar
    Join Date
    Dec 2008
    Location
    In my head
    Posts
    391
    Quote Originally Posted by zacs7 View Post
    He has already begun to tell other people about it, and plans to make a kiosk with my software* and sell it to people or install the kiosk around the place^.
    You come up with the idea.
    He tells you what features he wants to include.
    You code the software to his specifications.
    He sells it and makes money.

    Who owns the software? Who is licensed to use and distribute it? There are legal matters to consider.
    OS: Linux Mint 13(Maya) LTS 64 bit.

  4. #4
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    I would tell your boss flat out it was your idea originally and it must be at least partially your copyright, etc. Consciously or not, s/he is exploiting an opportunity in an obnoxious way (and here I am to explain why).

    First, your boss is most likely just being an idiot, since it sounds like the kind of thing that if freely distributed*, might get some public use. But if someone had to pay $$ for it, do you really think that will happen much if at all? Now consider the significance of that:

    There's a big difference here that will explain your bosses attitude and the attitude of software distributers everywhere: they and s/he have absolutely nothing to gain if everybody in the world downloads and uses the free software that you wrote.

    You, on the other hand, have a lot to gain, since you are in school to be a professional programmer (I'm assuming). So if your name is attached (eg, as principle or only author), and the program gains a public user base (which is much more likely if it is free) then that is probably a Great Thing for your resume, etc. By attaching a price tag, you could be killing this possibility. If all you are gonna make is a few hundred bucks in the next 6-12 months, why bother?

    But that is going to matter so little to your boss (who should be happy just to get this increased functionality in his/her operation -- isn't that business?) that it probably has not even occurred to him or her that a closed source commercial approach will probably kill the distribution because in that person's mind, anything else would be dead to start with because that person cannot benefit at all from distribution except by taking $$ as the distributer or "producer" or whatever your boss is supposed to be in relation to this. S/he could put it on the market for $10000, never sell one single copy, and it won't matter (there is no loss and no risk). But you are the author, and whether someone paid $20 or $0, they will still be using software written and copyrighted by you (if they use it at all).

    Here's an important question to consider: does your boss already distribute original software? If so, there is a policy in place. If not, you should come up with a polite way to privately and seriously discuss some things, and not allow him or her to make all these decisions arbitrarily.

    Hopefully we'll hear some opinions from the real pros, but I think this is sort of in bad taste -- not necessarily because your boss is mean or selfish, but because he or she is ignorant and has only thought it through on the basis of that ignorance. Being an internet entrepreneur doesn't mean you know everything about the computer software industry. Of course, if s/he is a (god forbid!) genuinely nasty/mean person all this discussion is mute; you can keep your job and hand over your product, or lose it and go to court to fight for the rights...

    * remember, you can always change that later.

    ps. I just noticed the title of this is "free time" -- does that mean you are coding this on your own time outside of work without the prospect of renumeration?!!! What do they teach you in school??!! If your boss is expecting or exploiting that s/he is breaking the law already and knows it. NO DOUBT! That's muy unprofessional and you are stuck with a jerk, BUT the project definitely belongs to you.
    Last edited by MK27; 05-01-2009 at 06:46 AM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  5. #5
    Registered User
    Join Date
    May 2006
    Posts
    903
    Given that you are doing this outside of your work hours I would consider this project yours. I would come up to my boss and ask him "Now that we've defined the project, how much are you willing to pay for it ?". There's nothing wrong about this. It's your work and all work has to bring butter on your bread.

  6. #6
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    Quote Originally Posted by MK27 View Post
    I would tell your boss flat out it was your idea originally and it must be at least partially your copyright, etc.
    I plan to own 100% of the copyright. He's welcome to use / customise it.

    Quote Originally Posted by MK27 View Post
    But if someone had to pay $$ for it, do you really think that will happen much if at all?
    Certainly not. There's only a few pieces of software that are worth paying for (even some free ones!). This would not be one of them.

    Quote Originally Posted by MK27 View Post
    You, on the other hand, have a lot to gain, since you are in school to be a professional programmer (I'm assuming)...

    ... then that is probably a Great Thing for your resume, etc. By attaching a price tag, you could be killing this possibility.
    Certainly, and that's why I started the project in the first place.

    Quote Originally Posted by MK27 View Post
    distribution except by taking $$ as the distributer or "producer" or whatever your boss is supposed to be in relation to this.
    "project leader" *cough*. He already had the other employee design the database before I had even designed my software. Yes, I had no say in the DMBS or the structure (or even tables!) of the DB.

    Quote Originally Posted by MK27 View Post
    Of course, if s/he is a (god forbid!) genuinely nasty/mean person all this discussion is mute; you can keep your job and hand over your product, or lose it and go to court to fight for the rights...
    Nah, he's a great guy. Just his expertise in IT is certainly not in this area.

    Quote Originally Posted by MK27 View Post
    ps. I just noticed the title of this is "free time" -- does that mean you are coding this on your own time outside of work without the prospect of renumeration?!!
    Yep, it's a hobby (turned horribly non-hobby like).

    Quote Originally Posted by guy with a weird name
    You're in pretty deep there, if you decide to back out of it you'll just end up embarrassing your boss. I think that trying to negotiate some extra pay would be about as much as you can hope for.
    Except I didn't do any digging . Not sure how I ended up so deep.

    Quote Originally Posted by Desolation
    Given that you are doing this outside of your work hours I would consider this project yours.
    As would I. But I also (sometimes) work on it in work hours (there's a lot of spare -- note: not free time, to kill).

    Quote Originally Posted by happyclown
    Who owns the software? Who is licensed to use and distribute it? There are legal matters to consider
    Me. And no-one is licensed to distribute it.

    Thanks for the replies everyone
    Last edited by zacs7; 05-01-2009 at 08:42 AM.

  7. #7
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    From a legal stand-point, now that you've worked on it at work, you've implicitly given the company rights to it, in my opinion. Some companies use every loop hole they can to get the rights to what you make, even if they have no intention of using it. On one occasion I saw someone get screwed over because their contract said that any software written by them while they were employed was the company's. I think your boss is still being a doofus for not being straight about this with you. He obviously has no idea what he's talking about, and at some point you need to sit down and make an agreement about what the software is and who it belongs to.

  8. #8
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by sean
    He obviously has no idea what he's talking about, and at some point you need to sit down and make an agreement about what the software is and who it belongs to.
    Like now, before you finish writing the code.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  9. #9
    Registered User
    Join Date
    Oct 2008
    Posts
    1,262
    Quote Originally Posted by sean View Post
    From a legal stand-point, now that you've worked on it at work, you've implicitly given the company rights to it, in my opinion. Some companies use every loop hole they can to get the rights to what you make, even if they have no intention of using it. On one occasion I saw someone get screwed over because their contract said that any software written by them while they were employed was the company's. I think your boss is still being a doofus for not being straight about this with you. He obviously has no idea what he's talking about, and at some point you need to sit down and make an agreement about what the software is and who it belongs to.
    Solution to that: rewrite the parts you've written at work. Or just say you did, if you don't know which parts those are. There's no way for them to proof you didn't (unless they would monitor everything you do there).
    I have to agree, it's not good you worked on it at work. That makes matters a lot tougher. And I'm no lawyer, so I'm not sure what the result of this is. Although it's obvious you can decide just not to use those components and re-code them.

  10. #10
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    First thing I'd do it review my employment agreement to make sure he didn't own it already. If so, and you released it publicly, you're in pretty hot water.

    If not, then you clearly own the parts written on your own time, and he owns the parts that you worked on at work. That's extremely messy, and the delineations should have been clearly defined BEFORE you started working on it on the clock.

    If it were me (and it wouldn't be, since my contracts are even more stringent than yours probably are) I would kiss it goodbye...
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  11. #11
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,268
    If it were me (and it wouldn't be, since my contracts are even more stringent than yours probably are) I would kiss it goodbye...
    I agree with this. As soon as you started coding parts of this project "on the clock", you gave away a piece of the project to the company. Even if you "rewrite" the parts that you wrote at work, your employer can still sue you or anyone that uses your application in the future (think of the way SCO sued IBM). Even if you feel that those parts of the application were legitimately rewritten, can you afford a legal defense against a lawsuit?

    Your only options (in my opinion) are to scrap the project, or come to an agreement with your employer where they pay you to finish the project, and they own it 100% when it's done. Keep in mind that a project does not have to be open source to look good on a resume. Simply saying that you wrote an application for an employer that is being used by X amount of users can be impressive.

  12. #12
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    Although it's obvious you can decide just not to use those components and re-code them.
    Not so. Just retyping the same algorithm doesn't mean you didn't steal someone else' intellectual property. Even though he thought of it, doing so at work usually makes it the company's intellectual property. Unless you work for a REALLY cool company...

  13. #13
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    Ah crap, more complex than I hoped.

    I guess I was caught out by the fact the job is very informal, and has exactly 0% to do with programming or software engineering. And as far as company goes, there are like 3 employees

    Thanks again for the information, I guess this is what makes "CS/Law" such a valuable degree combination

  14. #14
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Quote Originally Posted by zacs7 View Post
    Ah crap, more complex than I hoped.
    It's not THAT complex... Legally, unless you have a contract stating otherwise, you DO own the portions you coded on your own -- especially those parts you coded before your boss even knew about it.

    However, this is a pretty clear conflict of interest, and your boss might be justified (or at least within his legal rights) to terminate you if you don't turn over full rights. Or, in the worst case, he could sue you. He might not win, but it's a long, expensive road, and in the end you walk away with partial rights to a software system that isn't even that valuable (not to disparage your work), as well as making a professional enemy.

    It just isn't worth it, IMHO.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  15. #15
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by brewbuck
    It's not THAT complex... Legally, unless you have a contract stating otherwise, you DO own the portions you coded on your own -- especially those parts you coded before your boss even knew about it.
    Or unless Australian law is such that work done belongs to one's employer, even if the work is unrelated to the job (and in this case it is related to the job).
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Using pointers
    By Big_0_72 in forum C Programming
    Replies: 3
    Last Post: 10-28-2008, 07:51 PM
  2. Help needed with backtracking
    By sjalesho in forum C Programming
    Replies: 1
    Last Post: 11-09-2003, 06:28 PM
  3. SIGABRT upon free()
    By registering in forum C Programming
    Replies: 2
    Last Post: 07-19-2003, 07:52 AM
  4. I apologize. Good bye.
    By doubleanti in forum A Brief History of Cprogramming.com
    Replies: 14
    Last Post: 05-03-2002, 06:51 PM