| A welcome critique, though unfortunately mostly incorrect :-D! I'll address some of your comments: 1. Nyxt is entirely written in Common Lisp, so yes, any part of it can be reprogrammed at any time. All of our FFI bindings are also written in Common Lisp (https://github.com/atlas-engineer/cl-webkit). In fact, you can even GENERATE bindings at run time. So it is irrelevant what part is invoking C, it is still fully funcall'able at runtime. This is what makes Nyxt not a 'thin veneer', but rather a deep integration which exposes all resources to the end-user (something unique to Nyxt). 2. Our project is a chrome that is agnostic of the renderer engine. We can use both WebKit and Web Engine (Chromium). This makes us resilient to renderer specific problems. If websites decide to ban browsers that utilize WebKitGKT+, we'll have another renderer available to us. We talk about this in our article where we justify some of our technical design decisions: https://nyxt.atlas.engineer/article/technical-design.org 3. Security is very important to us. We rely on upstream providers of web engines (WebKitGTK+, Qt WebEngine) to test and audit secure web engines for us. We can't do everything, you're right about that. For this reason, we give users the choice, and hope for the best! 4. "Lack of flexibility and power"- I think this point is probably the most inaccurate. If you look through our articles you'll see a couple of things that make Nyxt powerful and flexible. 4.A. Composability, all extensions (plugins, as you may call them) can call and utilize each other. That means, as our ecosystem grows, so does the power grow exponentially! 4.B. Flexibility: We give the user access to the complete Common Lisp compiler, all packages on Quicklisp, and the ability to override and change literally any aspect of Nyxt. I often speculate that Nyxt is potentially the most flexible browser to have ever existed. 5. Lastly, no, we are not trying to deliver "apps" on top of Nyxt. Nyxt is a browser, and a programmable platform, not an app delivery mechanism. I hope that the above was informative, and if not changed your mind, at least exposed you to our view point! Once again, thanks for the critique, and happy hacking! |
2. This doesn't solve the problem. Being able to use both webkit and web engine in no way makes you resilient to the issue I brought up. Google has plenty of reasons to disallow and prevent their engine to be used by Nyxt and they have said that they will do so. Your answer strengthens my point.
3. Again, the issue is systemic and there's nothing upstream providers of web engines can do. Using these libraries in isolation will always expose you to significantly more security issues than using them as part of the browsers they were meant to be used in.
4. Flexibility and power (as I explained) is me using uBlock origin and coutless other extensions without reimplementing them from zero. Do you have uBlock origin for Nyxt? I rest my point.
5. Really? Then explain this: https://nyxt.atlas.engineer/applications
I'm very disappointed in your answers but I rest easy in knowing that my opinions and choice not to waste my time with your project are justified.