Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
I agree with the spirit but disagree with the letter.

I agree that obfuscating your code solely for the basis of continued employment is unprofessional. This is also unethical and if the client finds out, and has any brains they will get you out of there ASAP. I think your point here is very sound.

I disagree with the statement that there are no valid reasons for hiding your source.

If you're supplying a client with software, under a support agreement and Jo{e|an} Admin decides to use their newly acquired perl skills to "improve things" and horribly munges the software, then you may have to fix their mistakes at your expense. Sometimes you can charge but sometimes you can't.

Hiding your code when you don't trust the client not to break it, is valid, so long as the client can have access to your well documented/structured code after the support agreement lapses. This tends to discourage casual hacks.

Hiding your code is not pointless, yes you can reverse engineer from the debugger or b::deparse, but this is not exactly simple. Recreating the program structure is complex and requires someone with a good knowledge and lots of time. E.g. C debuggers have existed for a long time but few people have the expertise to recreate the C source from a running program.

Charging for bug fixing is legal, depending on your support agreement. Developing perfect software costs a lot of money, the client can pay the cost up front in terms of expensive development, or they can pay the cost later in terms of support costs. If they don't pay it, and you support them for free, you will be out of pocket.

I agree however that you should always provide your client with a mechanism to get access to the source, should you no longer be available to resolve their problems. Escrow agreements where the source is held by a trusted 3rd parties are good alternatives to revealing your source.

"Nobody owns knowledge in fact. ".

I may be misreading your point here: I'm interpreting this as 'knowledge cannot and should not be owned, and thus should never be charged for'. I strongly disagree with this.

I consider that I own the personal information (aka knowledge) about myself. You have no right to this.

I consider that any investment I make in developing a complex product, that involves a lot of domain specific knowledge, can and should be protected. If it cannot be protected why should I make the investment? Why should drug companies develop new medicines if their knowledge cannot be patented and protected?

My perspective here is a little different as I'm approaching this from the perspective of developing specific software projects under contract for a potentially large pool of clients, not as a private contractor/gun for hire. (Not that I'm actually doing this now but I would like to keep the option :-)

"The future will be better tomorrow." ... from the collected wisdom of George W Bush.

In reply to Re: Why is it bad to hide the source? by Mungbeans
in thread Why is it bad to hide the source? by z0d

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others chilling in the Monastery: (5)
    As of 2020-01-23 23:44 GMT
    Find Nodes?
      Voting Booth?