Shell icon indicating copy to clipboard operation
Shell copied to clipboard

Question: Why closed-source?

Open ThePython10110 opened this issue 3 years ago • 13 comments

This is great software. It works well, is customizable, and looks great. But is there any real reason not to make it open-source? Are you planning on making it proprietary in the future?

Bugs (and typos) would be found faster, features could be implemented sooner, and it would just be (in my opinion) so much better as open-source, although I think that about everything.

ThePython10110 avatar Jan 27 '23 19:01 ThePython10110

Hi @ThePython10110 Thank you for your interest I created Shell to be a primary source of income for my family due to the lack of a job opportunity. Source code will be opened immediately when sponsors become available. So far, the support has not covered the costs of hosting, the digital signature certificate, etc., not to mention the time I spend on processing...

I really want to share the code. But the fear of not having enough support frustrates me.

moudey avatar Jan 28 '23 00:01 moudey

I'm going to be honest with you. Opening the source code will not improve your income. It is better to leave Shell closed-source for now. In the future, if you decide to stop maintaining your program, then you can open-source it.

But don't take my word for it. , Here are the words from the Windhawk and 7TaskbarTweak dev:

image

bitsper2nd avatar Feb 16 '23 15:02 bitsper2nd

It's not just a feeling, it's about building a community around the code. If the source code is open, there's a high chance that someone interested in it will notice a problem and report it in the issues section or on social media.

Having close sourced code is absolutely fine 👍. Just would be good if the README specified that the software is actually closed source. The page mentions discussions and issues but doesn't specify that the actual software is closed-source. I've created a PR with a link to this page.

mrtrizer avatar Aug 08 '23 15:08 mrtrizer

You can still contribute to the project with donations or sunmitting bug reports. You don't need the source code for that.

bitsper2nd avatar Aug 08 '23 16:08 bitsper2nd

Yes, thank you, absolutely, this is what I just did by creating a PR. My message was not about this though 🙂

I just saying that this is kind of misleading and would be good to state clearly that this is not a repo of the app, but just docs. And that it's docs under MIT license, not the app itself. image

mrtrizer avatar Aug 09 '23 03:08 mrtrizer

not open source is weak.

vjt4 avatar Nov 17 '23 21:11 vjt4

I think you are digging your own grave with this, you are opening battles on too many fronts. I just took a quick look and while you might be able do almost anything with it, it is way too complicated for almost all users imho. If you need to look up docs for basic things or need an extension for config files you not only expect too much from users but also add a lot of dev/maintaining work on you.

I did something like this 17+ years ago which used XML for config, today I would use JSON I guess. More complicated things went into plugin dlls, like saving clipboard depending on content type (text,image,...). It automatically reloads config files on change and on error just keep current config.

Who is target market for this? Most likely Devs, Admins and some "Power Users". Usually they know e.g. JSON, YAML, JS, PY already and just might not have the time or mood for learning a new config/script language just for this. They open config with their favorite editor instead of open a special (yet to be done) UI which most likely lacks features and has bugs too.

The 2 things that keep me continuing using my 13 year old compiled dlls are:

  • using custom config language
  • restarting explorer after config error
  • reload config changes into each explorer instance

Hope you don't mind my thoughts :)

bugficks avatar Dec 30 '23 23:12 bugficks

Thanks @bugficks for your suggestions. Indeed, I have used XML and JSON since approximately 2008, but they did not meet my needs in writing a script inside the configuration file. So I created a special structure for the configuration that is more flexible, but complex for the normal user. Therefore, I am in the process of creating a UI to facilitate preparing the configuration file for it.

I think you are digging your own grave with this, you are opening battles on too many fronts.

Please explain this quote

moudey avatar Jan 01 '24 15:01 moudey

I think you are digging your own grave with this, you are opening battles on too many fronts. I just took a quick look and while you might be able do almost anything with it, it is way too complicated for almost all users imho. If you need to look up docs for basic things or need an extension for config files you not only expect too much from users but also add a lot of dev/maintaining work on you.

I did something like this 17+ years ago which used XML for config, today I would use JSON I guess. More complicated things went into plugin dlls, like saving clipboard depending on content type (text,image,...). It automatically reloads config files on change and on error just keep current config.

Who is target market for this? Most likely Devs, Admins and some "Power Users". Usually they know e.g. JSON, YAML, JS, PY already and just might not have the time or mood for learning a new config/script language just for this. They open config with their favorite editor instead of open a special (yet to be done) UI which most likely lacks features and has bugs too.

The 2 things that keep me continuing using my 13 year old compiled dlls are:

  • using custom config language
  • restarting explorer after config error
  • reload config changes into each explorer instance

Hope you don't mind my thoughts :)

Classic, "this project (and DLLs?) is so complicated it would be a waste of time for other developers to improve it and/or fork it"

Additionally, an open source owner/initial contributor can literarily provide as much or as little support for new contributors as they want. And surely, someone competent would come along to be the one to handle pull request and Q&A for moudey.

Obviously, when a project is open source, contributors can help each other/learn for themselves immensely more effectively than the current state.

As an aside, for 90% of Shell's users, what they want is the classic right click menu, which can be had by changing this registry value through power shell reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

Cheers, enjoy your delusion of contributors being incompetent.

vjt4 avatar Jan 01 '24 15:01 vjt4

There is no doubt that opening the shell source code will lead to superior improvements and the addition of great ideas. I am currently working on it and it will be published soon

moudey avatar Jan 01 '24 16:01 moudey

Classic, "this project (and DLLs?) is so complicated it would be a waste of time for other developers to improve it and/or fork it"

I have nothing against closed source and he has any right to do so.

I think you are digging your own grave with this, you are opening battles on too many fronts.

Please explain this quote

own parser/scripting:

  • usually comes with quite some dev and maintenance work
  • text editor extension (3rd party, but problems will hunt you):
  • usually a good thing to keep config and scripting/functionality separated

editor:

  • quite some work to do, nice to have but not necessary's for audience.
  • will be even more work if you want to map ALL functionality provided in UI

Maybe focus more on things 90% of your audience will actually use and not 90% of time on things most never will. User will request features later anyways and you decide what's actually useful for more users. For example, how will you deal with user config changes? Right now you either overwrite or user misses possible updates. I'd be p***ed if an upgrade undoes my spent time :) When I did my shell ext I tried to keep it simple, e. g. not extending with what you called "functions" or embedded scripting. All "logic" went into e. g. vb or py scripts which provide all the functionallity you need, I'd just pass "@sel" to script, done. Additional benefit: you do not crash explorer :) Use URI when possible e. g. "reg://hkcu/..../".

bugficks avatar Jan 02 '24 00:01 bugficks

I am on the open source team. I would have happily tried it and donated if i liked it, maybe even contributed. But the only reason i see that it could not be open source is if there is possibly some type of malware or other shady business in the application. Developers like me like to audit software source before using it, and right now everything is pointing towards untrustworthy rather than legit software:

  • author claims its closed source for financial reasons while studies suggest open source under noncommercial copyleft licenses with paid alternative for companies perform better overall due to bigger adoption rate, a nice read on this: https://medium.com/@kyeg/open-source-closed-source-601b81a6afbf for example look at EPPLUS who is doing really good on that front.
  • Site claims its portable, but you get greeted with a setup upon download which as expected registers a dll in the windows shell which is everything except portable
  • Download is immediately flagged so not only not common download but also not signed and not registered
  • Virustotal gives !3! different malicious flags on the files
  • Sandbox shows possible keylogging behavior.

At this point in time even if i wanted to use it at my company and pay for it i couldn't because of security risks, and i couldn't justify a donation either for personal use. So just like others i will just have to find an alternative. such a missed chance to become a fine product. I really hope your financial situation improves... Friendly regards.

Levi--G avatar Jan 18 '24 13:01 Levi--G

Shell has become an open source code

moudey avatar Jan 28 '24 16:01 moudey