Skip to content
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

Merged
merged 1 commit into from
Nov 7, 2023

Conversation

sarupbanskota
Copy link
Contributor

@sarupbanskota sarupbanskota commented Nov 7, 2023

Continuing #1738

@sarupbanskota sarupbanskota mentioned this pull request Nov 7, 2023
@shadows-withal shadows-withal merged commit a13c7b0 into rust-lang:main Nov 7, 2023
5 checks passed
@shadows-withal
Copy link
Member

@all-contributors please add @sarupbanskota for docs

Copy link
Contributor

@shadows-withal

I've put up a pull request to add @sarupbanskota! 🎉

@sarupbanskota sarupbanskota deleted the patch-3 branch November 7, 2023 11:34
@adwsingh
Copy link
Contributor

adwsingh commented Nov 12, 2023

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.

@jcbsnclr
Copy link

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.

@jcbsnclr
Copy link

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.

@MinisculeGirraffe
Copy link

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.

@Jackojc
Copy link

Jackojc commented Nov 12, 2023

Even more examples:
simskij/awesome-software-architecture#11
dictcp/awesome-git#72
ralfbiedert/cheats.rs#188
karlhorky/learn-to-program#74
karlhorky/learn-to-program#73

This is absurd.

@m-rph
Copy link

m-rph commented Nov 12, 2023

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.

@jcbsnclr
Copy link

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.
@partiallytyped

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 README.md sends a message that this is endorsed by the Rust project. There should need to be some basic standard of verification for these sorts of changes, even after just a surface-level investigation it becomes obvious what is being attempted here.

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.

@sarupbanskota
Copy link
Contributor Author

sarupbanskota commented Nov 12, 2023

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.

  • Paid vs Free. CodeCrafters is a learning resource for experienced engineers. While it is indeed a paid product, since it's been brought up here, I want to clarify that there's actually plenty of free content within it.

    • Currently the entire Build your own HTTP Server challenge is free for all languages, including Rust. For the most part, we intend to keep 1 challenge free where possible (it's been this way for months). In the past, there was a phase when all Rust challenges were free. We are constantly cycling through free challenges or languages so it's not feasible to include a fixed link here.
    • Our challenge overview is always free for all challenges, as are the prompts for various stages (requires free signup). Often engineers who're budget constrained choose to follow the "steps" recommended on CodeCrafters, but just not use our CI (which is paid for paid challenges).
    • Even our tester is OSS for every challenge. So you can do as you please with the tests we've written.
    • If you want to DIY, we give away all the building blocks for free. If you'd like us to run tests against your code for a paid challenge, show you progress, community examples, AI-powered features, hints, and so on, then you can do the interactive experience, which requires payment.
    • Additionally our Rust Primer (recently launched) is completely free.
    • Also free are screencasts of people going through different stages if you want a "just watch videos" experience (requires signing up).
    • ... all this to say, CodeCrafters gives away much more for free, in a structured and maintained manner, than a standard "tutorial" on the internet. If you're optimising for saving money, we give you the tools to DIY. If you're optimising for saving time, we give you a structured resource.
  • My conflict of interest. While it's true I didn't explicitly include a disclaimer that I work at CodeCrafters on this PR, I was in no way trying to hide it. It's clearly mentioned on my GitHub bio, and pretty much on everywhere on internet. Now you might argue that no one's gonna open my GitHub to check, but then again, I wasn't expecting any such discussion. I was simply trying to include a link to a useful resource into another repo where I thought it was relevant.

  • Why I opened this PR (specifically). This wasn't some "conspiracy" or "shilling tactic".

    • Way before I made this PR, I've directly interacted with 100+ (?) experienced, rational, credible engineers who told me that CodeCrafters was helpful in their Rust journey and that they when they started out, they went through Rustlings and Exercism. Naturally, I was eager to have more Rust learners discover and try CodeCrafters and Rustlings seemed like the perfect match. They also mentioned other repositories which I made a note of and when I had some time, I opened PRs to them (or had my team do it). I'm unsure what's wrong with trying to include a learning resource into compilations of learning resources?
    • The video I linked to.
      • First of all, the video wasn't exactly sponsored. We don't do sponsorships (neither does Jon, who is a highly respected Rust author and YouTuber). We had simply reached out to him introducing CodeCrafters, and offered him an affiliate link to use if he was going to recommend it. He also reserved the right to say the product was garbage. He covers this context transparently at the start of the video.
      • Secondly, I just happened to open the link on my Chrome browser and I copy-pasted whatever was on the address bar. I didn't realise Chrome includes a timestamp on the video automatically. It would actually have been in in my favour to not include the timestamp it would improve the strength of the recommendation.

I hope this clarifies. Happy to answer any questions.

@adwsingh
Copy link
Contributor

I'm unsure what's wrong with trying to include a learning resource into compilations of learning resources

Not mentioning that its paid.

@sarupbanskota
Copy link
Contributor Author

I'm unsure what's wrong with trying to include a learning resource into compilations of learning resources

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 [freemium] tag would do the trick in places where the repos support it (I've seen instances of similar, and added the appropriate tag in such cases)

@MinisculeGirraffe
Copy link

I'm unsure what's wrong with trying to include a learning resource into compilations of learning resources

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.

@dave-andersen
Copy link

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.

@sarupbanskota
Copy link
Contributor Author

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.

@nlanza
Copy link

nlanza commented Nov 12, 2023

I wish the commenters here would have not misunderstood my intentions

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?

@MinisculeGirraffe
Copy link

MinisculeGirraffe commented Nov 12, 2023

and I wish the commenters here would have not misunderstood my intentions,

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.

@workingjubilee
Copy link
Member

Secondly, I just happened to open the link on my Chrome browser and I copy-pasted whatever was on the address bar. I didn't realise Chrome includes a timestamp on the video automatically. It would actually have been in in my favour to not include the timestamp it would improve the strength of the recommendation.

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.

@MinisculeGirraffe
Copy link

MinisculeGirraffe commented Nov 12, 2023

It is possible that the mobile distribution deviates from the desktop distribution on this count,

Just checked. Mobile Chrome does not have this behavior. You have to explicitly copy the video link at the current time.
I do not see any way this could be an accident.

@sarupbanskota Can you provide reproduction steps on how this occurred?

@jcbsnclr
Copy link

jcbsnclr commented Nov 12, 2023

RE: @sarupbanskota

I would like to address a couple points made here.

First of all, the video wasn't exactly sponsored. We don't do sponsorships (neither does Jon, who is a highly respected Rust author and YouTuber). We had simply reached out to him introducing CodeCrafters, and offered him an affiliate link to use if he was going to recommend it. He also reserved the right to say the product was garbage. He covers this context transparently at the start of the video.

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.

This wasn't some "conspiracy" or "shilling tactic".

... [in another comment]

My conflict of interest. While it's true I didn't explicitly include a disclaimer that I work at CodeCrafters on this PR, I was in no way trying to hide it. It's clearly mentioned on my GitHub bio, and pretty much on everywhere on internet. Now you might argue that no one's gonna open my GitHub to check, but then again, I wasn't expecting any such discussion. I was simply trying to include a link to a useful resource into another repo where I thought it was relevant.

... [in another comment again]

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.

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 README.md, but you acknowledge that you did this at least in part to promote your project.

(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.

@sarupbanskota
Copy link
Contributor Author

and I wish the commenters here would have not misunderstood my intentions,

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.

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.

@sarupbanskota
Copy link
Contributor Author

It is possible that the mobile distribution deviates from the desktop distribution on this count,

Just checked. Mobile Chrome does not have this behavior. You have to explicitly copy the video link at the current time. I do not see any way this could be an accident.

@sarupbanskota Can you provide reproduction steps on how this occurred?

https://www.loom.com/share/179c1663720a4f4f8285fa6a6b99c308

@workingjubilee
Copy link
Member

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.

@ThinkSalat
Copy link

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.

@Kyllingene
Copy link

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.

@sarupbanskota
Copy link
Contributor Author

sarupbanskota commented Nov 12, 2023

Thanks @jcbsnclr.

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 README.md, but you acknowledge that you did this at least in part to promote your project.

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.

(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.

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.

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.

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.

@MinisculeGirraffe
Copy link

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)

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).

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

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.

@sarupbanskota
Copy link
Contributor Author

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.

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.

@junderw
Copy link
Contributor

junderw commented Nov 12, 2023

Secondly, I just happened to open the link on my Chrome browser and I copy-pasted whatever was on the address bar. I didn't realise Chrome includes a timestamp on the video automatically. It would actually have been in in my favour to not include the timestamp it would improve the strength of the recommendation.

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.

Not that I agree with the CEO here, but here's the repro steps done on Google Chrome on Linux desktop:

  1. Watch a video til halfway or so (not near the end or beginning)
  2. Get that video to show up in your recommendations on the right hand side while watching a different movie.
  3. Click the recommendation on the right side to that video. (You can tell it will start mid-video because the thumbnail has a red stripe below it to show where you will start the video from. See screenshot with the red stripe)
  4. The URL bar will say: https://www.youtube.com/watch?v=nxRsWzdVDNE&t=437s with the timestamp of the part where you left off watching.

Screenshot_2023-11-11_21-59-32

(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)

@sarupbanskota
Copy link
Contributor Author

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.

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.

@Slabity
Copy link

Slabity commented Nov 12, 2023

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.

@sarupbanskota
Copy link
Contributor Author

@Slabity in my previous comment, I was mainly responding to this statement (as that seemed like the key concern raised)

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.

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).

@Kyllingene
Copy link

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.

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.

@sarupbanskota
Copy link
Contributor Author

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.

@georgeiliadis91
Copy link

Not cool.

@danwilhelm
Copy link
Contributor

danwilhelm commented Nov 12, 2023

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.

@Jackojc
Copy link

Jackojc commented Nov 12, 2023

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.

@Kyllingene
Copy link

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:

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.

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.

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.

@workingjubilee
Copy link
Member

Can we take the philosophical discussion to another arena? It has far exceeded its topicality.

@shadows-withal
Copy link
Member

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.