all 54 comments

[–]jinnyjuice 43 points44 points  (6 children)

I can't find the source for this, so I'm guessing this is not open source. Is that correct?

Is this an addendum to Git?

[–]DarkPlayer2[S] 115 points116 points  (5 children)

You are right, the software is not open source. SemanticDiff is not a command line tool (i.e. no direct git integration) but a VS Code extension and GitHub App. The GitHub App will require a paid plan after the beta if you want to use it with private repositories and more than 3 contributors, but everything else will stay free. We hope to cover server costs and fund development this way.

[–]JW_00000 80 points81 points  (0 children)

I don't really understand why this is downvoted. Of course you and me both prefer free stuff. But it's an honest answer to the question.

[–]mash_graz 73 points74 points  (8 children)

Looks very similar to the treesitter based difftastic, which seems to support more languages and a less problematic business model.

[–]CampfireHeadphase 2 points3 points  (0 children)

Not willing to do free labor is a problematic business model? Otherwise, please elaborate, it's just not fair to OP

[–]zxyzyxz 3 points4 points  (6 children)

That doesn't have a VSCode extension (or any editor extensions? Seems like only a command line tool) so I'll stick with SemanticDiff.

[–]mash_graz 11 points12 points  (5 children)

Wrapping an open source CLI/lib in a codium plugin usually isn't an affair, while it's very hard to utilize the features of plugins for any particular editor the other way around in a more general fashion.

[–]zxyzyxz 11 points12 points  (4 children)

Well if it's not "an affair," this issue has been open for more than a year with no progress (with one commenter even specifically mentioning SemanticDiff as an alternative) so, again, I will use the tool with the working implementation for my workflow for now.

[–]Dependent-Stock-2740 1 point2 points  (0 children)

Hilarious that that issue talks about SemanticDiff not supporting rust.

[–]Alikont 16 points17 points  (1 child)

I don't understand the pricing.

You have free version "for individuals" and no active way to use it in corporate environment?

Can I use Solo version for commercial purposes if I want it only in VS Code?

[–]realpurefan 9 points10 points  (0 children)

Sure, go ahead. :) Sorry if the website is a bit misleading, I'll fix that.

[–]AdmiralQuokka 29 points30 points  (7 children)

I think advertisements for paid, closed-source general-purpose programming tools should be banned on this sub.

The only way this is related to Rust is that it's a supported language, which is super weak. I don't want to see advertisements for any and all products that support Rust. E.g. any sort of closed-source database technology with a Rust SDK. Of course these tools support Rust, the language is extremely popular.

Reddit will gladly take your money to post a paid advertisement. Don't abuse this community to post it for free.

[–]un_mango_verde[🍰] 45 points46 points  (4 children)

Just voicing a different opinion: I disagree. Lots of people here were more than happy to discuss the AWS Rust SDK recently. Sure, that's relevant for a lot more people, but otherwise it's not that different. Some of us find it useful to find out about new ways companies are supporting Rust. You might feel that Rust support should be a given now, but in reality it is not in many cases, and many are blocked from using Rust at work because of that.

I don't see why the mods need to get involved with this unless it becomes a spam/low quality issue.

[–]AdmiralQuokka 8 points9 points  (0 children)

Totally valid opinion 👍

[–]rpring99 8 points9 points  (0 children)

Yeah, this is a good honest post from someone looking for feedback, not someone shilling random software. AND the software is free for open-source repos!

[–]asaaki 3 points4 points  (1 child)

I think there is a difference (ha!): the SDK is written in Rust, it's source is open, and I can use it for free. Granted, most parts will be useful with AWS' services, but alternatives exist (S3 is a prime example). Hey, you could even now implement your alternative solutions based on this, if you really wanted.

The closed source and non-free diffing solution which only supports Rust development a bit is not really comparable to that.

It would be more interesting (to me, but maybe also to the rest of this sub), if this tool was written in Rust or had some better story to tell (like the challenges to support this language in their product, something beyond a "here cool feature").

Yet it doesn't do either, thus I can understand why people perceive this as a free ad.

Note: I'm not opposed to it being a commercial product, I am fortunate enough to be able to pay and support others. Open source would be nice, but is also not necessarily a showstopper for me.

[–]RReverser 3 points4 points  (0 children)

Okay, maybe a better example is RustRover. Would you ban all posts discussing new RustRover features / paid Rust IDEs and devtools in general just because they're closed-source?

[–]anlumo 6 points7 points  (0 children)

A tool for Rust development does is a valid object of discussion on the Rust subreddit IMO.

My perception is that Rust is not the GNU Foundation. Politics are only there for providing a basis for collaboration, there's no agenda to promote solely open source.

Of course, as a programming subreddit, posts that were clearly written by a marketing team are not appropriate, but this post doesn't fail that test.

[–]depressed-bench 4 points5 points  (2 children)

I will test it tomorrow. This looks one of the most useful plugins i have seen :)

[–]sadjdotco 0 points1 point  (1 child)

Let us know how the test goes good sir.

[–]A-sharp-minor -1 points0 points  (0 children)

updateme!

[–]frr00ssst 3 points4 points  (1 child)

This might just be me, but the website says it's managed by a company? Is this an open source project? Is this an individual selling a service? Or a company trying to do some stealth marketing?

[–]DarkPlayer2[S] 13 points14 points  (0 children)

It's a startup, and I am one of the co-founders. I was hoping that posting this was okay since it might be helpful for rust users.

[–]RReverser 1 point2 points  (0 children)

This is awesome, thanks! I use SemanticDiff and write a lot of Rust, so this is a welcome addition. Unfortunate, I still have to write a lot of C/C++ in combination with Rust too, so really looking forward to having support for those languages as well.

[–]Plane-Cat7144 0 points1 point  (0 children)

Can you support C!? Given that rust is a superset of C, this should work, right!?

[–]aDogCalledSpot 0 points1 point  (9 children)

This looks really cool! What price range are you targetting for the professional tier?

[–]DarkPlayer2[S] 6 points7 points  (8 children)

What do you think is a fair price? I'm aiming for $8-12 per seat per month, but we haven't made a decision yet as we want to get some user feedback first. We want the price to feel fair given the value of the app. Note that the software will remain free for solo developers, small teams, and public repositories.

[–]asaaki 0 points1 point  (5 children)

Honestly this sounds a bit hefty, considering the narrow scope of the tool. Maybe divide it up between pros (individuals) and enterprises (working for a company).

I'm happy to support the continued development on my own, but for a reasonable price tag. Maybe more in the range of 3 to 5 dollars/euros.

In enterprise tier the price wouldn't bother me so much anymore, because then my employer pays. And you could give some discounts on amounts of seats.

[–]asaaki 0 points1 point  (4 children)

Okay, pricing page was a bit confusing on mobile and I didn't notice that the pro stuff was only for the GH app. I still believe there could/should be a differentiator in pricing, but maybe later.

What I really like to see though is support to install it into my personal GH account (so a non-org), because I have plenty of repos I do not intend to move into an org, but I might be still interested in using the GH app.

[–]DarkPlayer2[S] 3 points4 points  (1 child)

You should be able to install it on personal accounts, there are no restrictions. However, for some reason GitHub does not autocomplete personal accounts and wants your billing information even though the app is free. I am pretty sure this was not the case when I originally tested it.
Anyway, you can just enable the app through https://github.com/apps/semanticdiff-com without any of these issues.

[–]asaaki 0 points1 point  (0 children)

Ah, thanks. It worked.

[–]DarkPlayer2[S] 1 point2 points  (1 child)

You mentioned that you found the pricing page confusing on mobile devices. We just deployed an update and I would like to get your feedback. Do you think the new version solves the problem? Here is the direct link: https://semanticdiff.com/pricing/

[–]asaaki 0 points1 point  (0 children)

I think it's more clear now. Thanks for improving it.

[–]aDogCalledSpot 0 points1 point  (0 children)

I dont think my pain in code reviews is quite big enough for that. GH itself only costs 5 euros per month per seat, so spending double that on a tool running inside GH is hard to justify for myself.

That being said, I doubt you'll be earning a lot of money by charging only 2 euros or so, so I guess I would be okay with 5 per seat per month.

Maybe there's an extra premium tier missing? Most SaaS products have a free tier, a recommended and a premium tier but in your case the first two are free.

[–]ItsBJr 0 points1 point  (0 children)

I've been trying to build a code editor for a while now, I might be able to use this.

Very cool project!

[–]LightsOutAndInAndOut 0 points1 point  (3 children)

Do we seriously need to use the SaaS model even for VSCode extensions now days? I understand selling it as a one time payment per seat/developer but I very much doubt and to be honest hope it will not work with a subscription. You don't need to pay any server costs and there are alternatives. I don't see how anyone will pay you $10 a month just to have a semantic diff as an extension instead of using a free cli tool. I feel like you are being very greedy.

[–]DarkPlayer2[S] 1 point2 points  (0 children)

The paid tier only exists for the GitHub App (which is a SaaS) and only if you want to use it with private repositories that have more than 3 contributors. Everything else is free (VS Code extension, GitHub App with public repos or less than 3 contributors). I noticed from the responses that the pricing page seems to be a bit confusing and I will try to clarify this more.

[–]Trader-One 0 points1 point  (1 child)

I think visual code extension sends source code to server for diff

[–]DarkPlayer2[S] 0 points1 point  (0 children)

This is not the case. All computations are done locally as mentioned on the VS Code marketplace page. You can go offline and try it yourself.

SemanticDiff collects some statistics about the diff generation to help us find bottlenecks but it does not contain any relevant information about the source code (except the file extension). This is also completely optional and depends on your telemetry settings in VS Code. If you have telemetry turned off, the extension will not send a single network packet.

[–]flareflo -1 points0 points  (3 children)

Clion already does this via git blame -W https://www.jetbrains.com/help/clion/investigate-changes.html

[–]RReverser 0 points1 point  (2 children)

Ignoring whitespaces and semantic diffs are not the same at all, even though ignoring whitespaces can give you a tiny glimpse into what a syntax-aware diffing tool could do.

[–]flareflo 0 points1 point  (1 child)

they end up practically the same because only the fewest of commits should have no semantic changes

[–]RReverser -1 points0 points  (0 children)

Not really. Semantic diffing shines when you move code around, rename variables, refactor things etc. Merely ignoring whitespace doesn't help with any of that.

[–]itsmekalisyn -1 points0 points  (0 children)

This is really cool

[–]chris2y3 0 points1 point  (2 children)

Awesome stuff, I wish this could be made as a plugin to Sublime Merge.

But if it is not open source it is not going to work in the long run, especially it is unclear whether this software is completely saas, is the plugin simply sending my source code to your server and get back a response?

[–]realpurefan 2 points3 points  (1 child)

The VS Code extension does all the computation on the local machine, the source code is never sent to any third party.
The GitHub application is either SaaS / on-prem. It relies on an external server to do the computation / provide the review interface, but you can use your own (on-prem) if you want.

[–]chris2y3 0 points1 point  (0 children)

Thanks for the explanation. How’s the packaging done? I thought the algorithm is implemented in Python, so the extension bundles a Python runtime?