Live data from Hacker News

I didn't get paid, so I open-sourced my client’s project

github.com

101–110 of 272 posts

Re: I didn't get paid, so I open-sourced my client’s project

#101

Hey guys its cool to see that you like my project. Unfortunately these types of things happen to independent contractors often and theres not a whole lot you can do about it but learn from mistakes. I used some awesome tech for the first time in this one like react-native-web which is now in Expo and react-spring for those sexy animations. Im happy for any of you guys to use this project as a boilerplate, learn some…

How common as a ballpark percent? I’m asking because I’m trying to decide whether to try some contracting this year or not

That can't be answered in a ballpark figure.

It heavily depends on the kind work and the clients you target and accept.

Some tips:

* always demand partial payment up front (usually 20-50%, depending on contract size and length)

* set milestones with additional payment required upon completion (for bigger jobs)

* have a contract that only transfers usage rights and copyright upon final payment

You can always get screwed over or have bad luck (client goes bankrupt, ...), but some prudence in selecting work goes a long way.

When starting, I learned to stay away from anything gambling and real estate related.

Re: I didn't get paid, so I open-sourced my client’s project

#102
Most contracts always have a clause about IP which usually states the work done for the project is the clients' IP regardless of you got paid or not. The smarter thing to do without violating this clause is to add "Fuck you pay me" sort of notices inside the application that doesn't allow the user to use the software until you get paid AKA kill switch. Kill switches are pretty easy to implement and you usually obscure key parts of your code. The other way, which is the best way is to use some complex programming language that the client will require a LOT of effort to understand that he might as well pay you. Eg. Haskell, Elixir, Scala, etc. Generally speaking, functional programming languages can be designed to look complex. Eg.

    def validate(_vin, vin_arr) when length(vin_arr) != 6, do: {:error, "VIN has incorrect length."}
    def validate(vin, [_, "ma3", _, "0", "0", _] = _vin_arr) do
      case String.length(vin) do
        17 ->
          {:error, "You must include the full VIN. Including the last two extra digits. It may not be included in your RC book. You may need to get it from your chassis."}
        19 ->
          {:ok, :valid}
        _ ->
          {:error, "VIN has incorrect length."}
    end
Normally, the whole app I develop usually will sit inside my Google Cloud account and the handover is done only when payment is made. The types of clients I work with normally don't care about source code, they just care about the working app. These days I avoid clients who are pretty nosy with asking for source code access upfront as it's a huge red flag for me, as like the OP, my personal experience also has been bitter with these clients running away with the source code.

I run an IT shop, not a restaurant to serve you first and wait for your cheque. Sorry.

Re: I didn't get paid, so I open-sourced my client’s project

#103
post #81

Don’t understand why someone would throw away their integrity by doing this. When a client refuses to pay, the standard procedure is to take them to court and then make them pay what is owed + attorney fees. Instead, this developer has put himself on industry blacklists by doing this. No way he’ll be trusted with sensitive projects. Don’t do this.

I agree with you, but hopefully he will do a follow-up and tell us what happens next.

I guess he is hoping someone start using this project and asks him to expand or customize it.

Re: I didn't get paid, so I open-sourced my client’s project

#104
post #85
post #41

This thing wants the password for your bank account? WTF? That's way more than it needs. Enough info to authorize an ACH transfer, maybe. But the login password for your bank account? No way. That voids Bank of America's security guarantee.[1] If you provide info for an ACH transfer, and the other party abuses that info, it's reversible. If you provide login info and the other party abuses that info, it's not. [1] ht…

How does Plaid work then? ( https://plaid.com )

IIRC Plaid is integrating directly with banks using OFX.

Re: I didn't get paid, so I open-sourced my client’s project

#105
post #81

Don’t understand why someone would throw away their integrity by doing this. When a client refuses to pay, the standard procedure is to take them to court and then make them pay what is owed + attorney fees. Instead, this developer has put himself on industry blacklists by doing this. No way he’ll be trusted with sensitive projects. Don’t do this.

I'm assuming there wasn't enough written agreement for either side to sue the other. Couldn't it be the other way around, though? If the client thinks this is unfair, they can go ahead and sue the developer. (Or use an NDA next time. Or actually pay the guy for his work god damnit)

Re: I didn't get paid, so I open-sourced my client’s project

#106
post #41

This thing wants the password for your bank account? WTF? That's way more than it needs. Enough info to authorize an ACH transfer, maybe. But the login password for your bank account? No way. That voids Bank of America's security guarantee.[1] If you provide info for an ACH transfer, and the other party abuses that info, it's reversible. If you provide login info and the other party abuses that info, it's not. [1] ht…

Yes, but this is increasingly common in online services. Reputable services like Wealthfront also work like this, requiring your bank login to work. The fact that Plaid has their entire business built around providing “bank logins as a service” speaks to that. I don’t like it either, but I’m not sure how you could get archaic banks and low-tech consumers to adopt something better.

In Europe they solve it with laws. PSD2 forces banks to become open, and allow others to make services on top.

Re: I didn't get paid, so I open-sourced my client’s project

#107
If a vendor doesn't pay you, call a collections lawyer.

Generally speaking the client owns the code whether or not they've paid yet. Of course if the client agrees this is fine. But it's not fine if the client hasn't agreed.

Stunts like this are a really bad idea. There's a right way to do it, and it works really well. Call a collections lawyer.

Re: I didn't get paid, so I open-sourced my client’s project

#108
post #41

This thing wants the password for your bank account? WTF? That's way more than it needs. Enough info to authorize an ACH transfer, maybe. But the login password for your bank account? No way. That voids Bank of America's security guarantee.[1] If you provide info for an ACH transfer, and the other party abuses that info, it's reversible. If you provide login info and the other party abuses that info, it's not. [1] ht…

Huh.

When I created this product [1], it required the end user's bank credentials. (I am using the past tense because I don't know if it does that anymore -- I'm not working there nowadays.)

I was sure that was an insane idea, as nobody was going to give us their user and password and let us log on to their banks as the clients. (To be honest, we were using an Intuit API which might have prevented us from creating transactions, but I could still have saved them and used them outside the API.)

When I left (for unrelated reasons), they had a few thousand clients.

[1] https://www.prbc.com/

Re: I didn't get paid, so I open-sourced my client’s project

#109
post #41

This thing wants the password for your bank account? WTF? That's way more than it needs. Enough info to authorize an ACH transfer, maybe. But the login password for your bank account? No way. That voids Bank of America's security guarantee.[1] If you provide info for an ACH transfer, and the other party abuses that info, it's reversible. If you provide login info and the other party abuses that info, it's not. [1] ht…

You Need a Budget[0] also asks for your banks credentials to read transaction data off the ledger. I've seen this done by a number of budgeting softwares to keep their transaction ledger up to date. (It's nominally read-only usage, but of course once you give them the password there's no control over that.) Honestly I don't find compromising my security to be worth the five minutes it takes to catch up on my transactions once a week. In my experience this sort of feature is not at all uncommon.

[0]: https://docs.youneedabudget.com/article/142-troubleshooting

Re: I didn't get paid, so I open-sourced my client’s project

#110
post #81

Don’t understand why someone would throw away their integrity by doing this. When a client refuses to pay, the standard procedure is to take them to court and then make them pay what is owed + attorney fees. Instead, this developer has put himself on industry blacklists by doing this. No way he’ll be trusted with sensitive projects. Don’t do this.

Huh? If you believe in Imaginary Property, you own the copyright to your code until you get paid.

He won't be trusted with sensitive projects that he doesn't get paid for.

Post reply on HN