Hello everyone!
So two days ago, a friend of mine told me that one of my problems on SPOJ has been used as a problem for Bubble Cup. And by coincidence I have just had this conversation:
.
We can't be sure if it really is coincidence or attempt of gaining points in Bubble Cup in a nasty way but something made me think that the latter could with high probability be the case.
As you see, I didn't agree to give him my code but what if I did? Would it be cheating? I should mention that I didn't agree in anyway to get my problem used in Bubble cup, nor was I informed by someone from their team. I also made sure that the "Available for use in 3rd party contests" isn't checked on my problem panel in SPOJ:
I don't know if they have the rights of using my problem but surely I still have rights on my own problem. And as far as I know, it isn't a problem to discuss a problem from SPOJ, given that this is the only place I have agreed for my problem to be present.
PS: I will also appreciate if someone tells me if they have the right to use my problem in their contest? I don't know much about these things but it looks nasty to me. As Xellos pointed out, SPOJ is mentioned as a problem source (something I didn't see) so you can ignore this PS :)
The "available for use in 3rd party contests" checkbox probably applies to SPOJ only, since it doesn't show on the problem page.
While you might hold an intellectual property claim to this problem, that only applies when someone's pretending to be its author. In this case, you released your problem to the public domain and BubbleCup attributes it to SPOJ, which in turn attributes it to you (since it seems copied word by word, looking it up in SPOJ is easy). I don't see a reason to complain.
Ah yeah, I didn't see it was attributed to SPOJ. Not complaining, though, was just asking :) What do you think about my main question, would it be cheating if I share the idea/code with someone?
If you don't compete in BubbleCup, you're free to share your code — it's not like you agreed with the organisers not to do that. Doing it intentionally is probably a good way to get them angry, but it's not like you can't do it for your own (e.g. educational) reasons.
If that guy doesn't (provably) compete, it's fine to ask for your code, otherwise it's up to the organisers to decide if he's cheating and all such cases should be reported to them.
Usually it goes like this: asking for anything is automatically cheating (for him), receiving anything from you (even without asking) and not reporting it to organisers is cheating, outright copying the code off somewhere else is ok if it's public and attributed to the source, copying just some standard part off anywhere is ok.
I know this is the usual case but here the problem is taken from a place which allows discussing the problems. And asking for the SPOJ problem doesn't sound like cheating for me. And then if he solves it on Bubble Cup, maybe he heard about Bubble Cup after solving the problem on SPOJ? Like some other people/friends have asked me about my problem and I have discussed it with them before. Considering this cheating doesn't sound quite logical for me, taking problems from SPOJ was their own choice.
Not sure if it's the same for BubbleCup, but when you want to compete in most contests, you agree to not discuss the problems or use someone else's help.
Human society allows people to talk to each other, doesn't mean talking to each other during a contest won't get you b&.
True, but in most contests you don't use public problems which makes rules more clear. My point is that what we discuss is first a problem from SPOJ and only then a problem from Bubble Cup.
For those who compete in BubbleCup, it's first a problem from BubbleCup.
I also agree with this statement. From contestants' point of view, this is nothing but cheating. In this special case, from problem setter's point of view, he has nothing to lose, but since honest contestants won't ask the setter for solution, it's best for the setter to not discuss at all, ( second best option being, discuss with everyone ), and from contest organizers' point of view, this is just plain weird.
I guess this is where our base-views split since if something is publicly open for discussions, then I don't think someone could come and say "ehm, no further discussions on this or it is cheating" but anyway it was a nice conversation :)
You're ignoring how it would actually work.
BubbleCup organisers absolutely can go and say "no discussion of this problem or you can't compete", but this affects only those who want to compete. If someone who doesn't compete decides to ignore it, it's the organisers' responsibility for picking problems the way they did (I'd avoid it in any serious contest).
It's usually a matter of courtesy.
Agreed! :)
I disagree with "you released your problem to the public domain".
Publishing a problem on an online judge does NOT automatically release it to the public domain. There is a HUGE difference between "the general public can view the problem" and "the general public may use the problem in any way they want".
You, as the author, have the copyright. You get to specify whether and how it can be used. A good way of doing so is attaching a license -- for example, all IPSC problems and materials are currently available under the Creative Commons 3.0 Attribution-ShareAlike license.
That being said, there certainly is a blurry line. The copyright applies to the actual data you produced: the phrasing of the problem statement and the test data. Copying those without your permission does violate your copyright. However, the abstract algorithmic idea probably cannot be protected by copyright, and if somebody produces their own problem that uses the same idea, that would be legal (albeit impolite if they knowingly copy your idea without giving you credit).
Definitely cheating. No doubt about it.
Could you please say why you think so. My logic against your statement is that I am sharing the code of a problem which I prepared for SPOJ :)
Not you, the one who asked is cheating. Since you are aware this is from an ongoing contest, it's only ethical that you refuse to help. Does a contest setter give away solutions? Had you been unaware, then you might've, but since you know, you shouldn't.
But he also asks for a problem from SPOJ, how do we know he is cheating? Even if he then solves this problem on Bubble Cup, I believe it can't be counted as cheating. Maybe he heard about Bubble Cup after we discussed the problem? The same way, I have discussed it with some of my friends immediately after posting it on SPOJ and they have some advantage over the others.
It's strange that they didn't ask your permission for using your problem :|
If that had happened, then yeah — it would be obvious cheating. But the case is different. If it wasn't my friend to tell me, I wouldn't even open the problems. I participate in a team but personally I haven't solved anything, just entered to submit my task after hearing that it was there. It wasn't even a teammate of mine, I suppose my teammates didn't even know it was my task :D :D
If this blog didn't exist, sure. What would we or Bubble Cup know what happens behind closed doors. But now that you've made it clear that you know, I think you will be a helper of a cheater if you discuss.
I would be a helper of a cheater if it was cheating. I know what we are talking about but the whole thing is so half-baked...
It wouldn't be a crime if you wrote a blog post about your solution. That way the playing field is even for everyone, and bubble cup will remember to ask permission next time :) maybe even pay the problem setters. Just don't help him in private message.
If you tell him the solution, then he goes and solves the problem in BubbleCup, it's cheating — should've asked the organisers for permission first.
Consider the case when your friend didn't tell you about their use of the problem, and you explain the solution/code. Clearly you aren't cheating. What difference does it make if you know of its use in the contest?
I think that's something for the organizers to worry about, not you. They used a public problem, so they should have considered this situation.
Exactly what I think! Still it will be good to hear opposing views with argumentation :)
I'd tell him a solution. If it's my problem, it's up to me to decide what to do with it. If someone uses it without even asking for it, they only deserve a shame.
What this guy said. It's your own public problem that you put on SPOJ before them and you have every right to distribute the solution to whoever you want at any given time.
It's their own problem to make sure their problems are original, and not on the web.
Be a rebel and post the editorial in CF. #seriousadvice
AFAIK, SPOJ gave rights (and even testcases) to BubbleCup organisers to use problems for qualification purposes. BC is usually looking for problems where solution isn't available online, and after the qualifications, contestants write editorials for each problem, which you can find in Booklets: http://bubblecup.org/Home/Booklets
Contest is 25 days long, so it's probably expected that you can look for some resources and hints online. But if someone copy the same code as any other contestant, organisers may think they are solving problems together, which is against the rules, and can disqualify both teams.
BC mission is great, and now, after 10 years of contests, you can find editorials for more than 200 very good problems, from which more than 50 are original problems from BC Finals. I think that you should be proud that your problem is selected by them, that means it's good and fun to solve. But if you don't like that, you can tell organisers and they probably will remove it from the contest.
I don't have a problem with that, neither do I feel proud. My main doubt was if what I was talking about is considered cheating but I think Xellos made this clear to me.
Oh, you should be. Giving a good competitive task to community is a great thing to do :)
For what you asked, generally speaking, it is not considered cheating by the Bubble Cup rules, as nobody can control that. But as you said, you submitted code as contestant, so if you give that code to someone else it will be cheating in this case.
If you were not the contestant, and only the problem author who knows about BC contest with your problem, it probably wouldn't be considered as cheating for contestant which asked you, but I doubt if it's moral and it goes with competitive programming "ethics" :)
If author don't know that problem is used in any other contest currently, and someone ask him for a solution or hint, then there is no mistake by giving solutions if author want to help, and the whole responsibility is on the person who asked.
In any case, person who asked for the solution from author in the middle (actually beginning) of the contest, only for purpose to have more points and to appear better than others should be ashamed and I think that behaviour should be discouraged by the community and contest organisers. You gave a good example in your conversation with him :)
Thanks for the good words about my problem! So in the end we all reached a consensus about the question and this is a great thing :)
And everyone increased their contribution and lived happily ever after.