Wednesday, December 04, 2013

Salesforce Tackles the Problem Prize - Limits the Damage

My colleague Richard Kastelein who has organised some great hackathon bootcamps this year alerted me to a problem outcome at the Salesforce1 Hackathon last month. Controversy started when the jury decided to award 1 million dollars in prize money to a startup called Upshot, for building an app that generates mobile reports for sales people. The goal is to develop apps using the Salesforce customer relationship management platform. 4500 developers accepted the challenge. The problem was that Upshot had demoed at least some aspects of the app at a gathering months ago. So did they really hack the code at the hackathon or plug in something they made earlier? 

Rather than hide away, Salesforce grabbed the problem head on. They decided that Upshot still qualified for the competition, but decided that the runner up, Healthcare-Love should get USD$1 million too instead of the 50,000 awarded on the night in question. 

From the Salesforce Blog: Let’s address the biggest questions we heard from the community:
Did the winning team break the rules?
  • The internal audit team found that the app submitted by Upshot, the winning team, adhered to the rules.
  • UpShot as a team was eligible under the rules of the hackathon.  One of the members was a former employee, but based on his departure date from the company, he was eligible.
  • We reviewed the source code of Upshot’s submission.  It showed that Upshot started with some existing code, but the mobile app was created within the contest window and a majority of the submission was new code created during that time.
  • While the Upshot mobile app used some pre-existing code, this did not violate the rules.  Use of pre-existing code was allowable as long as the code didn’t comprise the majority of the app and didn’t violate any third party’s rights.  Our internal review determined that Upshot’s mobile app was created during the hackathon and met these criteria.
Was the team eligible to participate?
  • We heard a concern raised about the participation of the team because they are employed by a company in which holds a small equity stake.  We determined that the team was eligible to participate because such investment is immaterial and has no ability to control the referenced company. As a result, it is not a “” entity under the rules.
Were the rules clear to everyone?
  • We should have been more clear to teams and to the final round judges about the use of pre-existing code. This is complicated because essentially every app uses pre-existing code, APIs and/or libraries.  Our intention all along was that to qualify for submission, the use of existing code in the app was ok so long as that code didn’t violate any third party’s rights and didn’t comprise a majority of the app.  In other words, a mobile app previously created for another purpose would not qualify.  We didn’t do a good enough job explaining to final round judges how to take into account the use of pre-existing code.  We didn’t get this right.  We should have been clearer.  We don’t know whether this would have changed the outcome of the final round of judging or not.

I'm sure that a lot of lessons have been learned to make things clearer in the future. But it was also a good outcome for everyone. Time to move on. We need more events that create really useful results 

No comments: