panoply / vscode-liquid

💧Liquid language support for VS Code
https://marketplace.visualstudio.com/items?itemName=sissel.shopify-liquid
Other
171 stars 22 forks source link

Unpublished from the marketplace #45

Closed sdasun closed 4 years ago

sdasun commented 4 years ago

Is this project abandoned?

darkguy2008 commented 4 years ago

How come it's unpublished from the marketplace? now how do you install this? there's no formatter for .liquid files! :(

panoply commented 4 years ago

Hey guys,

No this project is not abandoned. Lots of work is being done on the next version which has taken a long time to produce and the extension will most likely be released under a different name (Liquify).

The current release was never really intended to be used by so many developers and I did not expect it to become as popular as it has. I merely hacked it together because I was working on Liquid projects.

The next version has multiple breaking changes and leverages LSP (Language Server Protocol) to provide advanced features for Liquid programmers and such capabilities will empower your productivity. Things like validations, completions, description hovers and much much more.

In order to prevent developers from becoming accustomed to using a version that will be soon deprecated and additionally to prevent less experienced developers from leaving negative reviews about the extension in the marketplace I have unpublished it so no new installs are allowed for now until the next release concludes.

I'd love to hear your thoughts and if you really want the extension to be published again, I can make that happen.

counterbeing commented 4 years ago

Thanks so much for your work. Was really hoping to use this for the time being, as liquid syntax formatting is killing me. Feels so timely that you're posting this just now!

Your decision makes sense. Any pointers on the easiest way to manually install for those who wish to proceed at their own risk? Or is that a bad idea?

panoply commented 4 years ago

Thanks for the input @counterbeing

I've republished the extension for now. You can install it as normal but please be aware that once the next release concludes it will ship with breaking changes and this version will most likely be deprecated and again, shipped out under a different name.

Hope this helps

counterbeing commented 4 years ago

Sounds good to me!

Maybe just put something at the top of the repo readme, and that should give pretty much everyone enough warning. Maybe an 🚨 emoji to grab attention.

Thanks so much!

On Feb 6, 2020, at 9:29 AM, cаввидис notifications@github.com wrote:

Thanks for the input @counterbeing https://github.com/counterbeing I've republished the extension for now. You can install it as normal but please be aware that once the next release concludes it will ship with breaking changes and this version will most likely be deprecated and again, shipped out under a different name.

Hope this helps

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/panoply/vscode-liquid/issues/45?email_source=notifications&email_token=AAB2RNQU22ZECEL7KVS6Z5LRBQ3E7A5CNFSM4KQXF5RKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK73FVQ#issuecomment-582988502, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB2RNXKJ4PTOHWG6L7OD6DRBQ3E7ANCNFSM4KQXF5RA.

cj81499 commented 4 years ago

@panoply your most recent comment suggests that the extension has been republished, but as far as I can tell, it is not available for download. Any idea as to why this may be?

panoply commented 4 years ago

@cj81499 so at this moment I really need to limit the installs of the current version which was available on the marketplace as so many breaking changes are shipping in the next release. The extension was re-published and available for a small time to facilitate to some users but with the next version at the final stages of production I have decided to prevent any new installs.

I apologize if this has made your development life difficult as there is limitations when working with Liquid in vscode but if you can hold out a little longer you will be pleased and empowered with what will be available to you in the coming week.

cj81499 commented 4 years ago

Since you expect to release within the week, I'm sure I can manage With that said, I find the decision to temporarily remove the extension quite strange. Breaking changes happen quite frequently, but I've never heard of a project un-releasing to prepare for such changes.

panoply commented 4 years ago

Over the last year I've had a lot of users seeking support and guidance that is generally unrelated to this extension and more so related to a lack of experience with vscode. Unpublishing has been my way of combating and limiting these requests and the noise that comes along with it as I'm the sole contributor.

Some additional reasoning is that the extension will operate under a different name (moving from "vscode-liquid" to simply "liquify") and so will this repository name. There will separation in grammars (Shopify, Jekyll etc) and as mentioned before the extension will adopt and start leveraging LSP which will allow editors like Sublime and Atom to use the server. While this version is operational and effective it has design flaws as when I developed it I was not as fluent with the vscode API as I am a year later. All these changes means inevitably large deperecations are on the horizon.

There is also a high chance that the next release will be licenced and commercialized. The breaking changes are merely one aspect behind this decision making. I was originally going to privatise the extension but given so many developers and agencies are using it the choice to simply unpublish from the marketplace until production concludes and keep the repository public so existing users don't think I've abandoned the project and can stay aware of what happening was the best choice to make from my perspective.

cj81499 commented 4 years ago

Over the last year I've had a lot of users seeking support and guidance that is generally unrelated to this extension and more so related to a lack of experience with vscode. Unpublishing has been my way of combating and limiting these requests and the noise that comes along with it as I'm the sole contributor.

Any time you publish software, users will ask questions. The best you can do is provide comprehensive documentation and point people in the correct direction.

Some additional reasoning is that the extension will operate under a different name (moving from "vscode-liquid" to simply "liquify") and so will this repository name. There will separation in grammars (Shopify, Jekyll etc) and as mentioned before the extension will adopt and start leveraging LSP which will allow editors like Sublime and Atom to use the server. While this version is operational and effective it has design flaws as when I developed it I was not as fluent with the vscode API as I am a year later. All these changes means inevitably large deperecations are on the horizon.

Both deprication and name change are great reasons for a new major version number. Neither is a good reason to unpublish.

There is also a high chance that the next release will be licenced and commercialized. The breaking changes are merely one aspect behind this decision making. I was originally going to privatise the extension but given so many developers and agencies are using it the choice to simply unpublish from the marketplace until production concludes and keep the repository public so existing users don't think I've abandoned the project and can stay aware of what happening was the best choice to make from my perspective.

As you surly know, many developers rely on this extension. Commercialization is a significant barrier to entry for many individuals. I think I speak for many developers when I say that free and open source tooling is an essential part of their toolkit, and that they would be significantly less likely to use a tool that is not available for free.

I simply don't see any harm in keeping the extension available while you work on the upcoming version, and releasing it as either a new major version of or separate project altogether.

panoply commented 4 years ago

Any time you publish software, users will ask questions. The best you can do is provide comprehensive documentation and point people in the correct direction.

I'm well aware that users will ask questions and documentation is an aspect I do tend fall short with and will try to improve on this when I have more time.

Both deprication and name change are great reasons for a new major version number. Neither is a good reason to unpublish.

As mentioned, while the current version is effective, it has design flaws, I'd like to prevent developers from running into conflicting issues. Issues have been raised within the vscode repo itself due to these. I considered major release for the next version but in ended up deciding against it. I understand that this can be frustrating but restricting new users and installs is for the best at this point in time.

As you surly know, many developers rely on this extension.

Yeah, I am aware. Those developers still have the extension available to them, unpublishing simply restricts any new users.

Commercialization is a significant barrier to entry for many individuals. I think I speak for many developers when I say that free and open source tooling is an essential part of their toolkit, and that they would be significantly less likely to use a tool that is not available for free.

Thanks a lot for your input on this, I really do appreciate it. Let me try and shed some light on the commercialisation aspect to come in the next version. Individual developers (like yourself) will still be able to use the extension for free but will not have access to all the features it will ship with.

These features go far beyond just formatting and syntax highlighting. Please note, that users of the free (unlicensed version) will be able to use all the features available in 2.3.0. Users and/or agencies who purchase a licence will have access to more advanced capabilities, for example:

Feature Unlicenced Licenced
Syntax Highlighting
Formatting
CodeLens
Validations
Completions
Variation Specs

The features available to the Licenced users will be mostly supporting smarts for Shopify and other SaaS implemented Liquid variations.

Providing such capabilities for free to developers means I would be indirectly helping a multi-billion dollar company maximise their profits and that's not how I operate. Personally, I have invested nearly 6 months of my time developing the next release, open source in this nexus holds no virtue, especially when the main objectives are to support paid systems like Shopify.

less likely to use a tool that is not available for free.

That will be upto the user.

Below I've attached 2 videos that showcase Completion and Validation features available in the next version so as to provide any users with some additional visual context of what the Licenced version will provide.

Schema IntelliSense Example: https://youtu.be/KfUnYiuihw8

Validation / Completion Example: https://youtu.be/2Qyp03LcVRU

panoply commented 4 years ago

@darkguy2008 Being an active part of the conversation and hearing your thoughts would be greatly appreciated opposed to simply reacting using emojis.

Edit:

I really would like input from everyone, any ideas or thoughts to add will not go unnoticed. Given the response so far I'll release Liquify free of cost initially and I can provide a VSIX for anyone who really wants to use the unpublished version.

darkguy2008 commented 4 years ago

@panoply well, I sometimes avoid to do so due to how my comments are perceived by some of the github community, so take it with grain of salt:

In my case, I stumbled upon this extension because it was the natural impulse of realizing that VSCode was going crazy with the syntax highlighting and then going into the extensions marketplace to find one that'll provide syntax highlighting and autocomplete to finish off a quick project (just fix some bugs here and there and add a new page template). The amount wasn't great, so a licensing price of $50 or $20 or similar (just for using some core features of any extension you expect (i.e. Angular Language Service)) would be a show-stopper for me, and would either look for alternatives or roll my own and release it for free after finishing that project, really annoyed at the fact that there isn't any good liquid extension out there.

I don't really agree with the position of removing the extension from the marketplace just because you're getting a lot of questions. That's what documentation is for, right? Heck, I was even able to get the extension working installing it manually by downloading the master branch, it's not complicated. It's a bit clunky, yes, as I understand there's a lot of work involved and you're working on improving it. If I could do it, anybody can. One of the good aspects of open-source is that if there isn't much documentation and you actually request it, some people may chip in and help with a quick wiki or some docs, and it'll go from there.

The posture I see from you is that "this is my code, I'm going to license/sell other features because Shopify isn't paying me from their big moniez" or something along those lines. While I understand we all have to eat, I've learned that anything you put online will end up being used by anyone and most of the time not even paying a dime. I have a couple useful projects I've released in github just for free and I only ask for donations, although I haven't received any yet, but it makes me happy to know that I made someone else's life easier.

A licensing scheme for commercial use (say, in agencies, software factories, etc.) would be a good idea, but for individual users not so much. Again, assuming the licensing for just using the features the extension currently has requires me to pay $25-$50 or so just for a quick project I found, that means I have to add that to my final proposal just to cover up that expense. The moment I finish that project I don't know if I'll find a similar one (I have to admit, liquid sucks) soon or in 6 months, so it's not worth to have paid for an extension just to use it once or twice a year.

Also, VSCode is free and there's a lot of extensions published for free there. A paid extension just feels wrong. If I want paid stuff I'll go to JetBrains, NetBeans, etc. VSCode is great because it's free and its ecosystem is free. To be honest, this is the first extension that I see it requires licensing and IMHO it's very discouraging.

I would suggest maybe a commercial-only approach for companies (per company or developer, maybe?) and have a community version in parallel. That way, the community can work on the project, suggest changes, send pull requests, and even improve the documentation, and you can keep the commercial license for companies. Similar to what MS does with VS Community... it's free, but companies are not allowed to use it. I know, some companies use it regardless, but I've worked a lot more with companies that pay for their VS license than those that don't, and only because they get audited and want to be free from any legal issues.

Quoting this though:

Providing such capabilities for free to developers means I would be indirectly helping a multi-billion dollar company maximise their profits and that's not how I operate. Personally, I have invested nearly 6 months of my time developing the next release, open source in this nexus holds no virtue, especially when the main objectives are to support paid systems like Shopify.

I strongly disagree on this. By making a theme for a client it's not maximizing Shopify's earnings or is even my interest. All I want is my client to pay me and that's it. If I would be a theme developer I'd make some themes and get money out of them, that's it. What Shopify does with their cut it's their problem, it's their platform and it doesn't affect me in any way, nor I feel I would be indirectly "helping" them. You're actually helping the community. Other developers, just like you & me (and if you ask me, liquid sucks, it would have been better if they used another templating engine, but oh well...)

Again, those are just my 2 cents and hey, it's your code and your time what you have spent on this project and I appreciate all the effort, it helped me to finish off a project and put some bread on the table on these hard times. I wouldn't mind making a donation if that is your request and I'm sure others would be happy to do so. Who knows, instead of looking at Shopify as your enemy, why not make something nice and partner with them or something? I don't think they'll miss the opportunity to negotiate with you and improve the development ecosystem... no?

panoply commented 4 years ago

@darkguy2008 firstly, thanks for spending your time on communicating your ideas. I for one do not perceive your thoughts as negative, I welcome them. Our industry is dominated by physically fragile and socially inept individuals who'd prefer you to withhold your thoughts and voice. In my opinion, any form of criticism and.or ideas is constructive, so again thanks for letting me know where you stand and your experience.

What I take from this has helped me come to a more solid conclusion on how to handle the next release. I for one do not want a developer having to spend money on the software when they would only need to use once or twice, much like your use case situation, so i'll take that into careful consideration.

I don't really agree with the position of removing the extension from the marketplace just because you're getting a lot of questions. That's what documentation is for, right?

Yeah, this has probably made my life harder but to reiterate this was not the sole reason as mentioned in previous comments, it was a number of things. Given that Liquify is so close to release, I will keep it unpublished.

I was even able to get the extension working installing it manually by downloading the master branch, it's not complicated.

Well, of course. It's a few commands in your CLI and it will export the VSIX, this is why I'm tad confused as to why so many people want it re-published when all they need to do is clone and bundle. This version is very basic opposed to the next which employs incremental parsing, specification refs, lexical analysis and all that other nerdy shit. Personally, I'm yet to see an extension that has been able to apply things like JSON Schemas implemented into DOM regions outside of HTML syntaxes so in terms of someone being able to simply recreate what Liquify will offer, it's not going to an easy task to take on.

The posture I see from you is that "this is my code, I'm going to license/sell other features because Shopify isn't paying me from their big moniez" or something along those lines.

The difference between this version and the next is night and day. The main reason I'm going to take a payment route in Liquify is because I've mapped the entire Shopify API manually, which involves accurately scaping all their documentation and connecting that data to the LS. It's not about the money as much as it is the principle. I'll be facilitating an integrated solution for a SaaS that will be available to not only vscode but other editors resulting in an integrated bridge and thus eliminating the need for developers to reference information from Shopify. It's not about the code, it's about seeing the fruits of labour turn into a profitable exchange.

I strongly disagree on this. By making a theme for a client it's not maximizing Shopify's earnings or is even my interest. All I want is my client to pay me and that's it.

I respect that standpoint, however Shopify will benefit from an integrated tool that helps developers build themes for their platform and thus indirectly this would contribute to their growth. That's something that cannot be debated, much like how Shopify Apps help store merchants, Liquify will help store engineers.

Who knows, instead of looking at Shopify as your enemy, why not make something nice and partner with them or something?

I definitely don't see Shopify as an enemy, if I did, I wouldn't not invest so much time in open sourcing tools to work with the platform.

Taking everything you've mentioned into consideration and hearing from users has helped me immensely in figuring out how best to provide this. As of now, all features in this version will be available in the next for free. This would accommodate your use case and I'd presume many others. It's important to note that integrations with open source projects that leverage Liquid like Jekyll will have all features provided free of cost, however when it comes to SaaS platforms for the advanced features like the ones mentioned (completions / validations etc) a licence cost will be required. Developers will of course have a lengthy trial period available and the extension/package will need to prove its worth before Licensing (if you'd so happen to require the additional features) and cost itself will be minimal.

cj81499 commented 4 years ago

For anyone who, like me, is still less than satisfied with the author's decision, you can manually build and install the extension. You must have npm installed to do so.

Instructions:

  1. clone this repository git clone https://github.com/panoply/vscode-liquid.git
  2. install the dependencies npm i
  3. build the extension npm run build
  4. install vsce (the CLI tool for managing VSCode extensions) npm i -g vsce
  5. create the .vsix file vsce package
  6. install the package Find "Install from VSIX" in the Command Palette (ctrl-shift-P on Windows) or click the more (triple dot) button in the top right corner of the extensions panel and choose it from there locate the .vsix file generated in the previous step

I truly hope that the upcoming version of this extension is an improvement, but for those who, like me, are concerned by the things the author is saying, this provides a way to maintain the current version of the extension indefinitely.

panoply commented 4 years ago

If you are following the advice of @cj81499 please be aware the following:

Not to mention bugs listed in the repo. The extension also may wreak havoc upon formatting due is the Sparser / PrettyDiff integration and patch work around that.

I truly hope that the upcoming version of this extension is an improvement

I don’t think you’d personally notice, champ.

mgerzabek commented 4 years ago

Who knows, instead of looking at Shopify as your enemy, why not make something nice and partner with them or something? I don't think they'll miss the opportunity to negotiate with you and improve the development ecosystem... no?

That's exactly what I would ask myself. Who is the customer? How much is she willing to pay? Does this meet my expected revenue? Who else could be the customer?

I don't see the Single-Dev-Shop as customer for the reason @darkguy2008 pointed out. But maybe Shopyfy had great interest in a solid dev solution that they could market on behalf of you an pay you some bigger bucks for than a handful of SDSs would.

garrettjohnson commented 4 years ago

@panoply Are you still planning on publishing the liquify plugin? I'm really excited to see where you're going with the intellisense features.

panoply commented 4 years ago

@garrettjohnson absolutely. I have been stuck on contract for the last few months which has taken my time away from the Liquify project. It is nearing an alpha release and the entire Shopify Liquid API has been mapped. I additionally brought support to Jekyll and 11ty development environments, so users will get completions when referencing _data or _collection YAML/JSON files.

As mentioned in some previous posts, the extension will facilitate modern IDE capabilities to all notable variations of Liquid. This was rather challenging to engineer and coming up with a solution took a great deal of time, far longer than I originally anticipated. I really would of liked to had delivered to you all sooner.

panoply commented 4 years ago

See https://github.com/panoply/vscode-liquid/issues/56

its-me-VOID commented 4 years ago

Hey @panoply, First of all, I would like to thank you for the effort invested in this tool that will make our lives easier❤️. I look forward to the next version Liquify, I periodically check the news about her. This is something essential for my daily work as a shopify theme developer. With this I offer my contribution to speed up the release of this version, helping to complete the remaining tasks, about 8 hours/week. If you are interested feel free to let me know. (I'm not concerned about sharing revenue if this tool will become paid, nor by the type of license under which it will be published. All I want is that this tool see the light of the day As Soon As Possible.)

panoply commented 4 years ago

@Ben-Abbes Thanks for taking the time to communicate and provide a voice in this thread, I really appreciate it and thank you for the kind words. I am really close with an alpha release and I will be sure to get you a copy to test and work with (once ready) – This will help to diagnose any critical issues (if there are any) before the Liquify major.

I conclude with a work contract tomorrow which has consumed the vast majority of year ( 🥳 ) and I will be able to focus on finishing the last remaining tasks for Liquify, so September if all goes to plan we are all likely to get an official release.

In the meantime, if you are working with Shopify and looking for an efficient, fast and easy themekit equivalent, I maintain a tool called shopify-sync which might be something to checkout.