Hello Fellow PerlMonks. I have a huge problem and I know this description is going to be really long but I'd appreciate your time. Please help! What has happened is as follows:

Three weeks ago, I was hired to code an e-commerce site for a guy (who I'll call "BoB" since I like palindromes). BoB wanted to use an open source e-commerce program called OpenSales. OpenSales is also called OpenMerchant or OM for short. BoB already had a coder and an HTMLguy.

The first week, we needed a development server so I looked at VALinux, IBM, and Dell for a low-end nice server (since BoB is aiming for insane volume ... hehe). I gave recommendations and cost analysis with feature descriptions etc. BoB ignored my unpaid hours of research which he required of me before I could write any code to get payed. He talked to some guy in Anaheim who gave him a great deal on some P3 IDE box with an ISA modem and a translucent blue case with matching keyboard. I was miffed since this came with Lose98 and was far from the awesome GNU/Linux ready hardware I had spent hours pouring over. I recommended picking up a RedHat distro so that we could actually ummm like serve websites. I explained that we couldn't leave Microsoft on the computer if we wanted to use OpenSales. BoB reads a lot and he takes nobody's werd at face value. It must be printed somewhere to actually be true. After a little explorative work, he discovered that sure enough, RedHat is a stable operating system. He also found that FreeBSD is quite popular with many highly trafficked sites. I had never completely installed either before but I knew that O'Reilly has several GNU/Linux books and their Perl books have been indispensable in the past. After some convincing, we got RedHat 6.2. I installed it with all my O'Reilly books all sprawled out around me. I slapped my own Netgear card in and configured everything to run over BoB's Cox cable modem. Ftp and telnet werked fine through inetd but httpd wouldn't werk right. I tried all day changing httpd.conf and restarting it to try to get apache to serve a page. Finally, I thought to look for a helpful error message (duh) and found that the date in the BIOS was 1980 or some such which caused all kinds of negative file ages or something. I fixed that and proceeded to lern how to download and make and install all kinds of different things like MySQL and DBI and any CPAN module that looked useful. For the first time, CPAN was a candy store, and I was a kid. It's fun. I recommend it =). The relationship between BoB and the other coder was almost totally sour at this point as he was 2 weeks into the contract and hadn't accomplished anything so (since BoB trusted that I could actually get things done) this guy's contract was terminated because he didn't show anything even when he knew he'd be cut off if he didn't.

The second week (which was last week), I got OpenSales installed and configured with all the necessary httpd.conf / store.pm settings it requires. I got to test the sample store (presents.com) and play with it and see how it werks. I lerned more about OM while I wrote simple Perl to easily insert or replace records within MySQL and another script to passwerd protect the under construction development pages that the HTMLer was writing so that they would be hidden from prying eyes until the right time. Late last week, the HTMLer was fired. I also had a harddrive failure which left my 9GB SCSI estate ravaged and sadly unsalvagable.

Now, this is the third week and I'm getting werk done again. Of course there's a ton of stuff to do. I've been examining more of OpenMerchant's source and getting familiar with their MySQL table structures and their program flow. The more I look into it, the more it seems it would be faster to write it from scratch myself than to lern all of OM and then to enhance it to make it satisfy this contract. I'm not saying that OM sucks or that it's poorly designed or that I could necessarily write anything superior all by myself. What I am saying is that it's not yet complete and needs a lot of werk and it's already really complex. I thought I might be able to do it faster myself. I told BoB about this yesterday. We discussed it and he went off about how he's been reading about OpenMerchant's terrible SKU code scheme's limitations and how he envisions something far superior and he described several other trivial grievances with OM and wrapped it up with an advocacy of abandoning OM to do it the Right Way(tm) ourselves. I knew from the beginning that OpenMerchant is under the GPL and that if (in the unlikely event) I actually add something useful, it can and must be open as well and the contract I signed basically says that BoB owns all code I write unless it is free under some previously standing restrictive license. That's cool but starting over isn't necessarily so... I asked if we could open source it. BoB replied "No way! We could license it and make money." I explained how we're using and benefitting from exclusively open source softwares including RedHat, Perl, MySQL, OpenSales, etc. and then for us to turn around and horde code that is useful to a broad audience and built on top of most of those open components is silly. I related that the original impetus behind the entire project was his desire to sell physical products (as opposed to software) and I spoke of biting the hand that feeds etc. He proceeded to rebutt with a lengthy treatise espousing the uncharted treasures of capitalism and how greed makes the world go round and how I'm just an impressionable lad who's been brainwashed by the benevolent socialist charities who've taught me to find enjoyment and fulfillment in communism instead of being a good patriotic young man and laying hold of the materialism which is the true enlightenment of our day. My silence demonstrated my grief. I asked if we'd need to draw up a new contract and he threw me two bones: 1) He'll start a new company to sell the software and he'll give me 20% in it. 2) If I succeed in adding transactions (like he's asked) or rollbacks or other enhancements to MySQL, I can open those but not any of the e-commerce stuff.

I have to let him know by next week if we need to draw a new contract without OpenMerchant or if I'm gonna continue to use OM to complete the project. I need to get payed. I really don't want to be sued. I really don't want to write closed software (unless it's obviously useless... in which case, I don't want to write obviously useless software either). I'm 23. I'm an aspiring game coder who is tired of the closed source world. Here's my resume on Dice. I'm just trying to werk enough to pay rent and bills so that I can get t back to what I love: my girlfriend, fragging, and hacking.

Thank you so much for reading all of this. If you can, please lend me some advice. I would be most appreciative as I don't know how to best handle this situation. TTFN & Shalom.



In reply to Perl Werk Question. Please Help. Part 0. by PipTigger

Title:
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, details, 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, summary, 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.