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

Why isn't WindTerm fully open-sourced? #2238

Open
jackfahdin opened this issue Mar 20, 2024 · 4 comments
Open

Why isn't WindTerm fully open-sourced? #2238

jackfahdin opened this issue Mar 20, 2024 · 4 comments

Comments

@jackfahdin
Copy link

@kingToolbox 你好,用了好几年这款应用了
我非常喜欢,但是不可避免的您一个人开发需要花费大量的精力
大佬的技术超级厉害这点没得说
但是不可避免的是一个人的精力有限,
是否考虑开源出来或者招募一些开发者多一些人一起维护
让WindTerm变得更加完美

@jackfahdin
Copy link
Author

@kingToolbox hello, I have been using this application for several years now
I really like it, but inevitably it takes a lot of effort for you to develop it alone
The boss's skills are extremely powerful, which is beyond doubt
But inevitably, a person's energy is limited,
Are you considering open-source or recruiting some developers and more people to maintain it together
Make WindTerm more perfect

@kingToolbox kingToolbox changed the title 是否考虑开源或者找一些开发者一起维护 Why isn't WindTerm fully open-sourced? Apr 3, 2024
@kingToolbox
Copy link
Owner

I apologize for not being able to reply to you promptly as I have been traveling and working outside. Thank you very much for your long-standing support. I have explained the reasons for not fully open-sourcing the code many times, and I am willing to explain the reasons to you again.

Firstly, it was decided from the very beginning that this project would be partially open-sourced, and this was clearly stated in the readme. This decision was made after careful consideration of various open-source models for terminal applications. Until now, I still strongly agree with this approach. Over the past few years, all released versions of WindTerm have been very secure, unlike PuTTY, which has numerous third-party versions injected with various malicious code. That would mean some users who trust PuTTY have been unintentionally harmed, as not every user can carefully check the download source. I am firmly against allowing WindTerm to be maliciously implanted with viruses and backdoors, or even having its source code maliciously stolen, ignoring the open-source license, and repackaged as other software to deceive users.

Secondly, complete open-sourcing certainly has many advantages, especially in terms of having numerous contributors who can help fix issues and implement new features more quickly. However, this also requires the maintainer to continuously review the code. Particularly for a project like WindTerm, which involves server security, extra caution is necessary to avoid incidents similar to the recent one where the xz package was injected with malicious code (xz Backdoor, CVE-2024-3094). This is something I am not good at. Moreover, my work and lifestyle make it difficult for me to dedicate long hours online to manage the project. Especially once a large amount of third-party code is merged, it would be challenging for me to be as familiar with every line of code as I am now, which would significantly reduce my efficiency in development and problem-solving. After all, managing an open-source project with many contributors is entirely different from developing an open-source project with many users.

Furthermore, there are advantages to developing a project alone. All design ideas and implementations are very consistent, and long-term plans can be made for the tool. As long as the developer is highly skilled, the tool can still become an excellent one. While WindTerm may have a lower release frequency, the actual development speed is not slow. You can see that each version includes a significant number of new features and bug fixes, which represent a substantial amount of coding work behind the scenes. Similar to text editors, terminal development is a niche field, although the development difficulty is not high, the technologies involved are very tedious, dull, and trivial, and few developers are highly proficient in various protocols such as SSH, TERM, Telnet, and RDP. Moreover, to create an excellent terminal, a wide range of text editor skills are required, including the ability to efficiently parse, process, and display text. After decades of development, the basic functions of terminals have been thoroughly developed. Now, to create a world-class terminal, a significant amount of innovation is necessary. Just as I have nearly a thousand innovative ideas waiting to be implemented in my notebook, this requires more than a decade of accumulation and reflection.

If I need a team, I also hope it would be an efficient local team that can communicate face-to-face. However, this requires sufficient financial support, which is not yet realistic for the completely free WindTerm. I will try more and different development methods in the future. As long as it helps WindTerm grow into the world's best terminal, I maintain a completely open attitude towards it.

Finally, from a technical perspective, open tools are not limited to just open-sourcing the code. From the very beginning, many of WindTerm's interfaces and functions have been completely customizable through configuration files. WindTerm is also about to undergo a complete redesign. In addition to supporting more protocols such as FTP and RDP, it will also implement a brand-new plugin framework that supports third-party development of both the interface and functionality. I believe WindTerm will have enough flexibility to be customized and used. I hope that one day, WindTerm will have hundreds or even thousands of useful plugins, just like Vim and Emacs. This will be a beautiful future. I also hope that you can continue to support WindTerm as always. Once again, my heartfelt thanks.

@kingToolbox kingToolbox pinned this issue Apr 3, 2024
@jackfahdin
Copy link
Author

I'm sorry I didn't see your explanation. I asked for your opinion to make it easier for you. Now it seems that you're right. I will always support you, windterm. Thank you for your contribution, thank you for your reply

@ifloppy
Copy link

ifloppy commented Apr 21, 2024

I apologize for not being able to reply to you promptly as I have been traveling and working outside. Thank you very much for your long-standing support. I have explained the reasons for not fully open-sourcing the code many times, and I am willing to explain the reasons to you again.

Firstly, it was decided from the very beginning that this project would be partially open-sourced, and this was clearly stated in the readme. This decision was made after careful consideration of various open-source models for terminal applications. Until now, I still strongly agree with this approach. Over the past few years, all released versions of WindTerm have been very secure, unlike PuTTY, which has numerous third-party versions injected with various malicious code. That would mean some users who trust PuTTY have been unintentionally harmed, as not every user can carefully check the download source. I am firmly against allowing WindTerm to be maliciously implanted with viruses and backdoors, or even having its source code maliciously stolen, ignoring the open-source license, and repackaged as other software to deceive users.

Secondly, complete open-sourcing certainly has many advantages, especially in terms of having numerous contributors who can help fix issues and implement new features more quickly. However, this also requires the maintainer to continuously review the code. Particularly for a project like WindTerm, which involves server security, extra caution is necessary to avoid incidents similar to the recent one where the xz package was injected with malicious code (xz Backdoor, CVE-2024-3094). This is something I am not good at. Moreover, my work and lifestyle make it difficult for me to dedicate long hours online to manage the project. Especially once a large amount of third-party code is merged, it would be challenging for me to be as familiar with every line of code as I am now, which would significantly reduce my efficiency in development and problem-solving. After all, managing an open-source project with many contributors is entirely different from developing an open-source project with many users.

Furthermore, there are advantages to developing a project alone. All design ideas and implementations are very consistent, and long-term plans can be made for the tool. As long as the developer is highly skilled, the tool can still become an excellent one. While WindTerm may have a lower release frequency, the actual development speed is not slow. You can see that each version includes a significant number of new features and bug fixes, which represent a substantial amount of coding work behind the scenes. Similar to text editors, terminal development is a niche field, although the development difficulty is not high, the technologies involved are very tedious, dull, and trivial, and few developers are highly proficient in various protocols such as SSH, TERM, Telnet, and RDP. Moreover, to create an excellent terminal, a wide range of text editor skills are required, including the ability to efficiently parse, process, and display text. After decades of development, the basic functions of terminals have been thoroughly developed. Now, to create a world-class terminal, a significant amount of innovation is necessary. Just as I have nearly a thousand innovative ideas waiting to be implemented in my notebook, this requires more than a decade of accumulation and reflection.

If I need a team, I also hope it would be an efficient local team that can communicate face-to-face. However, this requires sufficient financial support, which is not yet realistic for the completely free WindTerm. I will try more and different development methods in the future. As long as it helps WindTerm grow into the world's best terminal, I maintain a completely open attitude towards it.

Finally, from a technical perspective, open tools are not limited to just open-sourcing the code. From the very beginning, many of WindTerm's interfaces and functions have been completely customizable through configuration files. WindTerm is also about to undergo a complete redesign. In addition to supporting more protocols such as FTP and RDP, it will also implement a brand-new plugin framework that supports third-party development of both the interface and functionality. I believe WindTerm will have enough flexibility to be customized and used. I hope that one day, WindTerm will have hundreds or even thousands of useful plugins, just like Vim and Emacs. This will be a beautiful future. I also hope that you can continue to support WindTerm as always. Once again, my heartfelt thanks.

Thank you for providing such an excellent software. But I still hope you can continue to open source code so that we can compile and use WindTerm on more platforms (such as arm64 linux).

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

No branches or pull requests

3 participants