
Show HN: CodeMill – a marketplace for pull requests - shaharsol
http://codemill.io
======
kennydude
BountySource ([https://www.bountysource.com/](https://www.bountysource.com/))
is a similar thing which is well established and doesn't mess up my browser's
scrolling.

~~~
ddorian43
Having sane browser-scrolling should be HN 101 submission etiquette.

~~~
skrebbel
I read this a lot but I don't get it. Can you explain to me what the problem
is? I scrolled the site both with my touchpad (2-finger gesture) and with the
touchscreen and it just, well... scrolled. What is wrong here?

~~~
kennydude
It doesn't scroll in the same way to other pages on your browser.

It's some bizarre trend these days where people feel the need to customise how
the scroll behaviour works.

------
etjossem
All screening costs are incurred by the developer - that is, they have to wade
through every CodeMill issue (wildly lowball $5 offers included) to find one
that's worth their time. They then fork and study the codebase, performing the
work on spec without ever meeting the organization or reaching a formal
agreement. And then ... hope they get paid 90% of the offer?

This arrangement sounds remarkably unfriendly to developers. Expect high churn
among experienced devs, if they even show up at all.

------
thecatspaw
The custom scrolling on the site bothers me a bit. Its really cumbersome when
you are using a trackpad, and it does not scroll the way you expect to. It
also prevents me using left-swipe to go back a page.

~~~
shaharsol
hehe sorry for that. You know I used a ready made theme, and it works fine on
my chrome/mac and I didn't really tested it on many other OS/browsers. What
you're using?

~~~
thecatspaw
funny that you mention chrome/mac, because thats exactly what I am using.

chrome:Version 48.0.2564.116 (64-bit) osx: 10.10.5 (14F27)

~~~
shaharsol
I guess it's something in the parallax the theme uses then. I'll need to have
a look. What puzzles me is that I don't really feel any problem myself...

~~~
asdfaoeu
Well.. smoothscroll.js

This removes it if you wanted to A/B test it

    
    
        window.removeEventListener("mousewheel", ssc_wheel)
    

I don't find it that bad but it's a bit more janky than default. But you lose
the overscrolling that OS X has.

~~~
shaharsol
Thanks!

------
mnx
Interesting, but they should make it more clear how does it work legally -
i.e. are there guarantees built in that the repo owner won't discard the pull
request, and then use the code anyway? Especially on open-source projects. Is
this purely reputation based? Seems like it could be done with proper
licensing. Also, the line

    
    
      >If you're not happy with their progress though, you can unassgin them
     and then other developers will be able to grab it again.
    

Worries me a little. Is there no limit, no appeal process? you could be 80%
done with a task, and then the repo owner decides they don't want it done
anymore, and just ditch you?

~~~
shaharsol
The idea here, since we don't want to make it a competition or something where
only one wins the jackpot, that if a lazy dev takes the job, and he's behind
schedule, or provides a low quality deliverance, then the client can unassign.
I here your concerns but I hope it won't grow into a backdoor for stealing
code.

~~~
mangeletti
Builds backdoor for stealing code... hopes it won't grow into a backdoor for
stealing code.

~~~
Skywing
Not entirely fair. A lot of good things have worked on the honor system, as
long as fair thought has gone into the "rules" of the system so that enough
easy, edge case abuse scenarios are protected against. A big one that comes to
my mind was the gaming league, CAL, back in the day. It was 100% honor system
based, with a target audience that was known to be hackers, liars, and in
general kids - yet it worked!

~~~
brudgers
Paying upfront also implements the honor system.

------
supergreg
For FLOSS you could let users put donations on an issue, whenever the pot gets
large enough for a developer to take interest they'll work on it. That way you
don't need to determine a price and you let users decide what features they
want by putting their money where their mouth is.

~~~
riscy
> let users decide what features they want by putting their money where their
> mouth is

While nice in theory, something like this needs to also have the FLOSS project
developers mark requests as feasible and/or within the scope of the project's
goals before allowing bounties to be placed on them. Otherwise there is a risk
of project hijacking.

------
joshfraser
It takes a lot of time to get up to speed on an unfamiliar codebase. I signed
up and currently see two jobs available - one for $5 and another for $7.
Either the offers will have to be more compelling or you need a lot of PR's on
one project to make it worth it for developers. You could focus on stand alone
projects that don't need to be integrated at all, but then you may as well do
that on a rent a coder type site instead of Github.

------
michaelmior
Typo:

> you can unassgin them

Anyway, this seems interesting. But as a developer who completes pull
requests, what's to make sure I actually get paid? The buyer could easily
reject a pull request and merge the code elsewhere anyway. You say the payment
is pre-approved. Does that mean it's impossible for the original developer to
get their money back?

~~~
shaharsol
Thanks for the typo fix.

It's true, a client can do what you describe but then we won't keep them as
clients for long ;-) I assume in the future we can add a mechanism to ensure
payment in case of such a code "theft", and I admit this isn't handled now.
That said, we're talking rather small tasks, not complete projects here, and
what you describe is not something that doesn't happen in real life, i.e.
contractors that don't get paid. I assume that a developer that works on this
system, saves a lot of time on marketing and clients relation and even if
1/100 tasks he is not paid for, it still be worthwhile than the alternatives.

~~~
ci5er
Isn't a parallel (and perhaps even larger?) market that of users of a system
or library that might be willing to put a bounty on having a feature
prioritized by the maintainer(s)?

With that in mind, could you use a variant of the same system to put a bounty
on issues/tickets being resolved?

I don't know how to (in general) solve the problem of developers at large
enterprises taking advantage of open source developers that are barely making
ends meet. Nor the problem of developers being demanded to fix bugs or add
features for the benefit of people who aren't paying anything for it -- but
maybe this could be a start?

~~~
shaharsol
If I understand what you're saying, we made an open source offering based on
our current model: [http://codemill.io/for-open-
source](http://codemill.io/for-open-source) is that what you're after?

------
maxwelljoslyn
I don't like the name. It immediately makes me think "diploma mill," which
signifies cheapness and inauthenticity.

~~~
shaharsol
You know, the original name we came up with was GigHub. We also found the
owner of the domain gighub.io and agreed to buy it. But then I thought we're a
GitHub app and the names are too similar and maybe github won't like that, so
I asked them, and yes, they said it'll violate their trademark policy and we
better find another name...

~~~
ThomPete
Great names are made not found. Don't worry. If your service is great your
name will be great :)

------
elcoderloco
This seem like a good idea but in practise i am not sure how this will work
for large codebase where more time is spent on understanding and guessing
where to make a modification or adding a feature than writing code.

And how this will not be flooded by devs from poorest countries of the world
like upwork and a lot of freelancing websites making those platforms pretty
much useless for westerners.

~~~
shaharsol
I believe that if you can define your task in as much details, and break it to
the most micro level, then it works. If on the other hand, you're issue is
something like "there's a bug when sometimes an invoice is inserted with a
negative amount", so yeah, this is something more comprehensive, and maybe
related to god knows what in the codebase....

------
EC1
Went to website, noticed scroll override, closed site. If you're inexperienced
enough to think scroll overrides are ever a good idea, your product probably
sucks way more.

------
afandian
I see a bit of a conflict between

    
    
        Does CodeMill work on private repositories as well?
        Yes, the only difference is that interested developers won't be able to fork them unless you authorize them...
    
        How do I screen developers?
        That's part of the beauty of CodeMill -- It's based completely on GitHub, where each developer has their public profile
    

This might be useful for orgs sponsoring open source projects but for orgs
trying to get cheap labour on internal projects, there's no way of appraising
previous similar work.

(Also, I have only ever heard the word 'mill' is used in a pejorative context:
"Diploma mill", "essay mill", etc)

~~~
shaharsol
I agree. I assume however that on average there's enough open source pushed
for each developer on github. Didn't see any stats or whatever, just a hunch
feeling I got from years of using this platform.

As for the name... I replied to another comment. Please ctrl+f "GigHub" on
this page to find it :)

------
Aissen
If only the pull requests were the only part that would a payment incentive.
How do you encourage people to do code reviews if they're only paid for pull
requests ? How about testing, bug reporting and triaging ?

~~~
shaharsol
I here what you're saying. All of these are also tasks that need to be done.
however I believe that in most scenarios, those tasks would have to be held at
the organisation level. I'm also not sure the github platform integration
would be useful to accomplish that, and the coding itself is the basis for the
dev process, we thought we can help with that.

~~~
Aissen
I understand. Let me rephrase that. What you provide is nice, has the easy
feeling of providing some value, but is IMO typical of many startups. You just
used whatever API was available to you, and used them to build a product on
top that some people may want, but does not solve a hard problem. There exist
competitors (gittip, code bounties), albeit not as integrated with Github.

Solving a hard problem in this case would be doing the things that don't scale
([http://paulgraham.com/ds.html](http://paulgraham.com/ds.html) ). That is,
providing the tools to oil the development process by incentivizing the boring
yet essential tasks that I talked about (QA, triaging, etc.).

And I don't mean that you provide no value. It's indeed quite an interesting
proposition. I just don't see it going further than a side project you'll have
to maintain forever for a small revenue on top of your current job. Which is
perfectly fine, I have a few of those myself.

------
ivan_ah
I signed up, but _Open Tasks_ is empty right now. It might be interesting to
report info about completed tasks---to give an idea of the prices and type of
PRs being requested.

This is an interesting idea with several possibility of incentives: project
owner, project users, or companies employers could sponsor these PRs.

Also could be useful for learning/tutoring---formulate a question you're stuck
on as an Issue and let an expert show you the way with an educational PR.

~~~
shaharsol
Many tasks had been grabbed in the last 2 hours since this post is on HN front
page, however I still see several available tasks. Do you see it totally empty
(which implies a bug) or by empty do you mean "just a few"?

~~~
cel1ne
Mine is empty = zero tasks as well.

~~~
shaharsol
Oh, I see. I bet you're looking at the "open tasks" while in the "clients
dashboard"... to grab tasks and work on them you need to get to the
"developers" perspective, which is done by hovering on your profile image on
the top-left and a menu will appear ...

~~~
bignis
I'd suggest making that more obvious somehow. Before seeing this comment, I
had no idea how to see open tasks that are looking for developers to take.

------
DanielBMarkham
Interesting. Cool idea. Thanks for the post!

Just guessing, but wouldn't it work better as a 2-phase process? Phase 1 you
set a price on automated acceptance tests. Phase 2 developers bid on how much
to write code to pass the tests. That, and perhaps required paired-
programming, should address the quality issues you're probably going to face
just setting a price on code slinging.

~~~
shaharsol
This is something worth thinking about. Of course time, and experience, will
tell. We wanted to keep it as simple as possible, and as disruptive as
possible to the current employment/contracting process that goes "offline", so
we decided to start the way we did. We're not shutting our ears though for
ideas.

------
desireco42
I really like general idea. I was thinking along the same lines. Essentially
by splitting your work well, the skill that I have as experienced dev, you can
get a lot of people working on it. It does require discipline from all
involved.

Tasks available are not tempting at all, but I guess if you can get good devs
to be present, this can became platform to do work.

I am not huge fan of the interface etc, but this is start, so this is OK.

------
grumblestumble
ugh. as someone who wandered over to development after years of freelance
design, this brings back terrible memories. you may want to check out
[http://www.nospec.com/](http://www.nospec.com/) and spend some time
ruminating on the ethical ramifications of the service you're offering.

------
dkopi
I appreciate explaining exactly why you need permissions, but being asked for
each and every permission individually gets tedious.

~~~
shaharsol
I totally hear ya. But then would you sign up if it had a huge list of
permissions to begin with? I'm really curious, not just rhetorical.

~~~
dkopi
Frankly? That's not really I question I should be answering. That's a question
you should be a/b testing.

For example: Option 1: sign up with all permisions Option 2: sign up with 5-6
most common permission, request additional for least common Option 3: sign up
without permissions, request every permission as needed.

Then check what matches your conversion goals.

~~~
reitanqild
Come on.

Asking for advice in a startup forum from someone who was clearly opinionated
and this is what you come up with?

Answer the question and then, -for extra credit, recommend A/B-testing.

@shaharsol: not every piece of advice is good advice. That said A/B testing
can do wonders but don't waste too much time. Deploy it well in advance of
next marketing move. (e.g hn link submission etc)

~~~
dkopi
There's a clear user preference question here. Do users prefer being asked
upfront for all the permissions at once, or do they prefer being asked for
permissions on the go.

Random dude in startup forum isn't smarter than your users, and can't
anticipate how your users really would behave.

------
kmanzana
10% commission taken out of each task price? That's steep!

~~~
maerF0x0
see upwork and head hunter fees. Also groupon et al. 10% is cheap/norm.

------
trymas
I amazed how many sites, dedicated for developers have scroll hijack. I see
such website at least once every every day on the front page of hacker news.

~~~
shaharsol
That's because we can code but can't design. So we take ready made themes and
we don't pay attention that they have scrolling problems...

------
fiatjaf
What about [https://snowdrift.coop/](https://snowdrift.coop/)?

------
thruflo22
Have you considered an explicit assign? Seems like it might make the process a
little saner.

------
frutiger
Typo: `seamlessly` not `seemlessly`.

------
sandra_saltlake
Unbelievable,Awesome

------
hoektoe
is it just me or is the logo blurry?

------
estomagordo
It looks awesome! However:

\-------------------------------------

Do many developers work on each task? No, just one at a time. Once a developer
grabs a task, it's theirs. If you're not happy with their progress though, you
can unassgin them and then other developers will be able to grab it again.

\-------------------------------------

Let me requote the relevant term:

"unassgin"

Where is the option that does not involve rectal juniper?

