-
Notifications
You must be signed in to change notification settings - Fork 10.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add CodeCrafters to Continuing On
#1760
Conversation
@all-contributors please add @sarupbanskota for docs |
I've put up a pull request to add @sarupbanskota! 🎉 |
I don't like the idea of mentioning a paid resource in the Continuing on section. The author of the PR is the CEO of the company and this seems like free marketing to me. If we go down this route we will need to justify why we are choosing to endorse one for profit course over others. There are a lot of paid Rust courses available online, why endorse CodeCrafters specifically? And what do we do when see more future requests like this. IMO we should not go down this route and only mention free courses officially endorsed by the organization. I noticed this when one of the students I mentor expressed interest in enrolling for a paid course on CodeCrafters after completing Rustlings. It seemed as if Rustlings was officially recommending this progression, a suggestion I think the community is going to strongly disagree with. |
This is incredibly shady. Your GitHub profile lists yourself as the CEO of CodeCrafters, and the video you linked to in the original issue was timestamped to after when the person in the video declares the fact that the video is sponsored by CodeCrafters (my link is not timestamped) Beyond how it is generally not acceptable to use such shady practices to shill for a company that you own without first declaring your conflict of interests, I also do not think it is in the best interests of the Rust project to list a premium resource in the "continuing on" section for new users. We should aim to present people with high quality resources that they can make ready use of without any sort of financial investment, as that has the lowest barrier to entry for everyone. |
To add to my previous response, I've just checked the commit that was merged with this PR and it seems that the only resource mentioned in the "Continuing On" section is CodeCrafters. This comes off as an explicit endorsement of CodeCrafters by the Rust project, and it especially comes off as being official when it is the only resource listed. This section should either be a large list of resources - payed and free - or it should not mention any resources at all. Just listing one company's payed resource - at the request of that company's CEO - is I feel not helpful. |
The amount of repositories code crafters seems to be trying to put themselves into is honestly kind of gross as a marketing tactic. I can't imagine a more damaging thing for a brand than to do advertising like this. |
Even more examples: This is absurd. |
There's something to be said about being impartial to marketing let alone doing it for companies. Maybe someone can find better words because I am speechless. |
I honestly would not have had much of an issue with this if @sarupbanskota mentioned that they were the CEO of CodeCrafters in their original issue, as at that point it would have simply been a policy decision of the Rust project, which while I might not agree with it is at least transparent. Indeed, CodeCrafters does at a first glance seem to have quality resources that could be useful to many people learning programming/various languages. The real issue here is the way that their status as CEO was clearly obscured (arguably intentionally), it constitutes a total lack of transparency. The Rust Foundation is a non-profit organization, and should not be partial towards for-profit resources. Obviously in this instance I would assume that this was a mistake on the part of whoever merged this PR, but the fact of the matter is that this being the only resource linked in the respective section of the I would also like to point out that other team members at CodeCrafters have also been shilling for their website on other projects. It's a shame because from what I can see it is certainly not a bad resource, but this sort of organized, vaguely obscured mass marketing campaign demonstrates a total lack of respect for their (potential) customers, and has exposed an obvious flaw in the way that these sorts of changes are reviewed. |
Hey everyone! Sarup here, CEO @ CodeCrafters and also author of this PR. Yes, I deliberately (and very "innocently") chose to PR CodeCrafters into this repository (and others) as a way to increase awareness. I'd like to address the "paid vs free" issue, the concern about my conflict of interest, and also explain why I opened this PR.
I hope this clarifies. Happy to answer any questions. |
Not mentioning that its paid. |
I agree, this discussion would have been avoided had I mentioned that CodeCrafters is a paid resource and explicitly introduced myself as its co-founder. I'll do so from the next time. Perhaps a |
Not mentioning that you have a direct financial interest in the inclusion of resources that are managed by a non-profit is a big one. The fact you don't see your actions as unethical says quite a lot about your company. |
You're still being disingenuous. "The video wasn't exactly sponsored" ... "affiliate link". You had a clear commercial relationship with Jon, which at least he disclosed in his video. We all know that this kind of marketing biases people towards favorable reviews, which is why the FTC requires disclosures such as Jon's. This feels quite gross, fwiw, and I suspect you're on the cusp of doing yourself some severe reputational damage. While I hope the rust docs folk revert this, I might suggest that you withdraw it yourself first. |
Thanks for your suggestions. I wanted to revert the changes made by my PR in good faith, but I noticed there was already a PR in place that is already approved. I still think CodeCrafters is a great match here, and I wish the commenters here would have not misunderstood my intentions, but I definitely don't want to disappoint the same community my team and I set out to help. |
FWIW, this is also pretty gross. Maybe instead wish you’d been more transparent and clear and that you’d made better choices, instead of blaming other people for your misstep? |
This is honestly hilarious. So you're actually saying you didn't include it in the project because you had a financial interest? The fact you would make money from it was totally just not in your mind at all? Please clarify this. |
I just installed Google Chrome on my PC, opened a random YouTube video (specifically, I opened https://www.youtube.com, then clicked on a frontpage video), advanced a bit into the video, and copied the URL from the address bar. It did not do this, and instead copied the URL verbatim, without including the time offset. I used both right-click-copy and Ctrl+C and got similar results. I have not applied any configuration to Google Chrome which would intentionally alter this behavior: it has never been installed on this computer before. It did not even do this in the Share button. I do not have any further comment on this discussion at this time, I am merely experimentally verifying whether this does or does not happen. It is possible that the mobile distribution deviates from the desktop distribution on this count, however, I do not have the same "unconfigured" state as easily-accessible with respect to that. |
Just checked. Mobile Chrome does not have this behavior. You have to explicitly copy the video link at the current time. @sarupbanskota Can you provide reproduction steps on how this occurred? |
RE: @sarupbanskota I would like to address a couple points made here.
As pointed out, when it comes to legislation regarding sponsorships in at least the USA, this is still something that needs to be disclosed. Now, I don't think this is a legal issue, but the precedent is clear, and I think if you are going to link to their video showcasing your project, you shouldn't link to the video with a timestamp after Jon's declaration of the video's relationship to your company.
I feel like these statements are worth addressing as well. While I'm willing to accept this was a mistake, and you didn't intend for this to be malicious. I do not believe anyone here is "misunderstanding" your intentions. You say yourself that "I deliberately (and very "innocently") chose to PR CodeCrafters into this repository (and others) as a way to increase awareness.". I'm not sure what you mean by "and others", as the commit only added CodeCrafters to the (I am not a contributor to the rust project so I might be speaking out of place here) It's good that you're willing to apologize for your mistake, and as far as I'm concerned CodeCrafters does seem like it could be a useful resource, but I think you need to understand why people are complaining. I don't think it's because we take issue with your intentions themselves, but rather the lack of transparency regarding your intentions. In future you should keep in mind the fact that not being transparent about your intentions and your interests when proposing changes such as this PR is excluding valuable context that should be taken into account when making these decisions. I'm willing to accept that linking to a timestamp within the video may have been a mistake, but from a professional standpoint, and as the representative of a company, these are the sort of things that you need to keep in mind when promoting your project, as it potentially reflects badly on your company. I would not be opposed to having a list of resources that 1) is explicitly said to not be officially endorsed 2) clarifies the payed/free nature of the service, but if that was your intention then that should have been what was added in the PR. As it stands, CodeCrafters is the only resource mentioned in the "Continuing on" section of the README of Rustlings. Apologies if this is "off-topic" for this GitHub, and I'm willing to delete/edit my comment if this is the case, I just think there is a lot worth addressing here regarding how organizations conduct themselves, and how the Rust project reviews/considers these sorts of changes. |
The reason I requested CodeCrafters to be included here is because I genuinely believe it's a useful resource for engineers that are looking to master Rust (or any language), period. If the repo has an obvious policy of not including freemium or non-official resources, and had I known it, I'd wouldn't have made my PR. It's also worth mentioning that for every 1 person who will eventually go on to pay for CodeCrafters, around 200 will do our free challenges. If your concern is that CodeCrafters is not a good product, or not relevant here, then that's a separate discussion. I do have financial interest in CodeCrafters, but I didn't actively make the PR here to "steal" anyone's money. While some engineers pay us, lots of people enjoy our free resources. I simply recognised Rustlings as a resource people go to when they're new to Rust, and I know engineers have come to CodeCrafters after, so I thought there was a natural fit, hence I made the PR. |
|
Ah, so you went to a page with the timestamp in the URL already, I see. I wouldn't say that's definitively "not an accident", but it's not the browser injecting data where there was none: it's you revisiting that URL in your browser history. |
I really like CodeCrafters. It's really well thought out and it goes beyond a lot of the typical leetcode style learning websites. There's a lot of potential in what you're working on. I wanted to try it out after seeing Jon's video but it's like $40/month. From the last time I checked, you can do the first two stages of some of the courses. That's just a demo. Advocating CodeCrafters as anything but a paid subscription service is not just disingenuous, it's a lie. Now you're pimping a $500/year subscription service, and very obviously, people aren't having it. You're disrespecting the community by carrying on this way. Your services are very clever and I really like the philosophy behind the product, but if you throw your reputation away by treating potential customers like they're willing suckers, and worm your product into github repos instead of being upfront, you will pay for it majorly when someone decides to offer the same thing you're offering, without treating the customers like suckers. In short, move on from this tactic. This ain't it chief. |
I personally think that people are being somewhat unreasonable on both sides. There's a (not entirely bad) tendency to assume that companies, and the leaders thereof, are always acting in their own interests, treating their consumers as cattle. This is not true; I believe that, in this instance, it was a series of misunderstandings. The amount of bashing going on around this situation is not appropriate, especially on this thread (the focus of the entire discussion). We should be fostering constructive discussion, not throwing around harsh words because someone messed up. However, I think that as the CEO of a company, it's your job to be more careful about your public appearance and actions. What you did feels too much like the spam advertising that communities work so hard to control. It also presents problems for the community to which the contribution was made, which should also have been considered. It's out of place for such a figure to be acting in this way. There is a good reason why most countries regulate how a product is allowed to be advertised, and this got close enough to those issues to hit peoples' hot buttons. When representing your company, you must be aware of how things will reflect upon you and your company. While this may blow over, such slip-ups can cost much more in the future. I understand the desire to advertise a resource you believe is helpful. I have never used your site, but I respect your work and have made use of some of your other resources. That being said, you placed Rustlings in a false position by having them endorse your platform in a very biased way: you made it seem like CodeCrafters was the way to go, rather than a learning resource. To sum, people immediately took a toxic and extreme stance, passing moral judgements without full information and making assumptions about motives. However, you should have been far more careful in the first place, considering the weight on your shoulders. If you had exercised more thoughtfulness, this would never have been an issue. But that's not an excuse for others to jump on the hate train and start throwing around words with no respect for the person; all it does is display their lack of maturity. |
Thanks @jcbsnclr.
Yep I was 100% promoting my project, I've never denied it :) I'm only trying to defend that I had no "malicious" intent here. This is not some kind of crypto scam, just a simple resource for those learning Rust. I simply thought CodeCrafters would make a neat addition to this repo and took 5 minutes out to make a PR. And that the worst thing that could happen is that my PR would be closed as irrelevant.
Yes, I learnt from this incident that the next time, I should a provide heads up that CodeCrafters has paid elements and disclose that I'm a team member. I can totally see how this would be useful in making a decision. I don't mean to sound arrogant, ignorant, or disrespectful at all. We're a super small, resource-constrained team doing the best we can to make a useful resource and to get it in front of as many engineers as possible. Some of the nitpickings here (e.g the timestamp issue) make it seem like I spent a lot of designing some sort of elaborate conspiracy.
Thanks! I'm more than willing to highlight the free/paid nature. Please understand that while I've heard of it and briefly tried it, I don't have much prior relationship with Rustlings to know its culture and norms. |
As a CEO would you be okay if you hired someone because of a glowing reference, only to find out that the reference was actually from the employees parents? That person may be a great employee but I'm assuming, like most reasonable people you would feel deceived. Why? Because someones parents are likely not objective judges of the employees character and that information was concealed from you. If you can understand that example you should understand why people are uncomfortable with your actions. Because you are the CEO of the company you are immediately a non-objective judge of your products character (Show me one CEO who says they have a bad product).
After reading your responses I believe that you did not have any intentions of being malicious. However trust arrives on foot and leaves on horseback. Opening up lots of PR's to link to a paid service has lots in common with objectively malicious actors I.E performing a phishing campaign. |
Thanks for the kind words @ThinkSalat and your perspective. I don't want to suggest that CodeCrafters is a primarily free product (it isn't). However, I do want to highlight that everything I specified as free on my comment is indeed free. I actually would not have taken the path of listing out all of our free resources, had this thread not put me in a position to defend myself, by suggesting that the only reason I posted here is because I was out to grab as much money as possible. To clarify your specific experience for others reading, Jon chose to do the BitTorrent challenge because that's what he was interested in and it's true that currently you only get 2 stages free on it. But there is another challenge (HTTP Server) which is available completely free at the moment, which hundreds have gone through. We intend to make it paid at some point, and I know we'll be launching another free challenge to replace it. BitTorrent before it was paid was also free. |
Not that I agree with the CEO here, but here's the repro steps done on Google Chrome on Linux desktop:
(Edit: Depending on how much Youtube you watch it might take a while until Youtube recommends you continue watching a half-watched video. I have ADHD and leave videos half-watched all the time, so 90% of my recommends on the right side have red stripes.) (Edit 2: My stance on this issue is the same as @Kyllingene) |
I agree, the correct approach for me to have taken here, was to perhaps kickstart the "Continuing On" section as a list of resources, rather than including a sentence just about CodeCrafters. If that's welcome, I will be glad to kick it off. |
No. That's not it. The correct approach is to say, "Hey, I am the CEO of CodeCrafters and wanted to know if these resources that my company provides would be beneficial to add to the 'Continuing on...' section." Then discussions can continue on from there. That's all you needed to say. It's really that simple. This is the direct and transparent way to open a discussion on whether the resources you provide are something that this project would benefit from without creating any sort of ethical dilemma. I highly recommend you look into a Marketing Ethics class if you still don't understand the backlash you're receiving. |
@Slabity in my previous comment, I was mainly responding to this statement (as that seemed like the key concern raised)
I already understand and agree that disclosing my affiliation with CodeCrafters would have been the right thing to do (as well as clarifying the free/paid). |
I don't think you don't understand the situation you're in. Regardless of your motives, you have still made a bad mistake in how you handled things. Whether or not they should, most people still view you (in relation to Rustlings) with a mixture of suspicion and (varying levels of) antagonism. Yes, forgiveness is a virtue. That doesn't mean people, especially internet denizens, frequently display it. At this point, people will inevitably not support this with you backing it, for the same reasons you wouldn't trust a convicted burglar as a cashier. The comparison is extreme, but it should get the point across; they don't trust you to be honest with your marketing, and would feel better if you weren't involved (at least, not as the lead). I'm not saying that's the right view to hold, but I feel that it's the public opinion at the time. Moreover, you keep suggesting that you find a way to do this right. Stop doing that. Regardless of whether it's the right way forward, it paints you as self-interested. People who don't trust you will not be receptive to your suggestions, and will perceive your repeated suggestions the same way they perceived the original problem. Every time you suggest advertising CodeCrafters, you get bad reactions; that's a very obvious tell that you seem to be ignoring. My advice is to back off. Let others work out whether or not this is a good thing to have. Then, when the dust settles and the public is not closely watching you with a malignant eye, you can ask about including CodeCrafters. Doing it here, in the very thread where people have written biting remarks about your character, actions, and company, is setting yourself up for failure. |
Thanks @Kyllingene, great advice, thank you. I will back off and let the community works things out from here on. I'm sure they'll make the decision that's best for the Rust community. |
Not cool. |
If a general policy is made on this, it's worth noting that the README contains links to other commercial providers. As far as I can tell, there was no debate about their commercial nature. For example:
I believe these were added by community members and not company representatives, but they may stray onto similar territory. |
I think it kind of goes against what I feel is the ethos of Rust to be an inclusive, open and diverse community. Many people in the community put in quite a bit of effort to make high quality, free content for others to benefit from expecting nothing in return. It rubs me the wrong way to start promoting for-profit businesses as a way of learning, it doesn't feel right that the barrier to entry should be paid content. And even if we wanted to take the stance that for-profit content is allowed, CodeCrafters seems to have exorbitant prices. That doesn't strike me as a business who cares about education moreso than profit. I don't think it's a good precedent to set. |
These seem to be of a different ilk to me. There must be a choice somewhere as to what services should be used to make Rustlings more user-friendly, and this is an result of that. Also, those both provide a free plan that is enough for most beginner needs. However, I think we could try to migrate to free resources for benefiting a broader audience. I agree however that $40/month is too high a price for most people doing Rustlings, and should probably not be pushed here.
I'm a huge FSF fan, and pretty much every piece of software I use is free. I love free stuff. However, expecting things to be free is an entitlement issue. It's great that many people are putting out learning content for free, but remember that most of them still get paid through ads, sponsorships, etc. Paid content keeps the lights on, and (imo) is a better business model than ads everywhere. You come across as entitled by insisting that everything is free. In fact, one could argue that insisting content be free is a barrier to entry for content creators, requiring you either subscribe to a shady business model or already have financial backing. I agree that a free beginner course is not a great place to be advertising a service with such a high cost. Rustlings is for any beginner, professional or not, while CodeCrafters is for professionals really trying to further their career. |
Can we take the philosophical discussion to another arena? It has far exceeded its topicality. |
I don't actually have a strong opinion on this, but I've merged the revert since there seems to be consensus on both sides (at least on the revert PR). |
Continuing #1738