Replies: 5 comments 1 reply
-
@bjoh-01 to my opinion GeoNode is just one part of many components within a "System called GeoNode". Mangeling the whole setup and getting rid of functional components would give you a completely different system, right? There is geonode-project which focuses on developers, but to my opinion it does not make things a lot easier in terms of what you raise here -- a Django developer may be more used to such a templating setup. We already had a deeper discussion on simplifying setup and improving development experience. I agree, that there is a lot more we can do to simplify things for new users. Obviously, this is an ongoing task, and there are many ways to simplify things. In the discussion I mentioned above, you can find a PR proposal for an alternative project proposing/drafting (!) a simpler project structure to support the whole discussion. It is based on a pure docker setup (without Django templating). I created different projects based on that structure. Perhaps, this might help you. Unfortunately, I cannot give you insights into license decisions GeoSolutions made. I guess, the license has been chosen before I started working with GeoNode. |
Beta Was this translation helpful? Give feedback.
-
@ridoo "Mangeling the whole setup and getting rid of functional components would give you a completely different system, right?" This is a fair point. It could very well be an entirely different system that results. I still believe a lot of the functionality and "concept" of geonode could be maintained without the task queues and rabbit MQ for example. I would consider those "advanced" features. I think the point I was trying to make behind the complexity and the license issue is that a) the complexity of the setup and the dockerization of everything does not help those who may already have an existing postgres database and geoserver instance they would like geonode to manage. b) the GPL3 license makes formal adoption of geonode as a foundation for any commercial GIS projects (in the private sector) a non-starter. For example, if I wanted to use geonode or write any code that touches geonode as an employee of an employer, I would have to release the entire codebase to the world. Employer would not like that idea. So that license kind of prohibits the adoption of geonode. More adoption leads to more developers in community and a more mature stable platform (in theory). I guess I would really like to see a Geonode-Lite. Just the basics. Here's your postgres database. Here's your geoserver instance. Here's your geodjango instance. Here's how they talk. And here's geonode (a great unifying system that has a beautiful interface and a lot of django extras). I'm not suggesting get rid of the current geonode situation or remangle anything. Just a simpler situation. And under a license that encourages adoption that megacorp would approve of. I also suspect it would be much easier to maintain a simple documentation rewrite allowing users to get to Geonode-Lite stage and then perhaps a pip install geonode-lite into an existing django project would let user explore the platform without the celery. When they are ready for the task queues and deployment automation scripts and tracking, they know where to go with a better understanding of what's under the hood. It's probably a pipe dream and I will continue to explore the resources you mentioned. I understand it is a labor of love so. If I had a better understanding of the platform and achieved the geonode-lite concept myself, I would volunteer to write docs and contribute. I'm just not there yet. I will not copyright the name geonode-light though if I do. :) |
Beta Was this translation helpful? Give feedback.
-
Well, that is a discussion which touches "Why you use GPLvX" in general, right? The idea with GPL is just to foster free Open Source and not to do closed source. That is why it is designed viral. However, this would be out of scope here, but you can scrutinize of course why GeoNode is using it and GeoSolutions would be willing to relax license. 🤷♂️ |
Beta Was this translation helpful? Give feedback.
-
@bjoh-01 if it helps. My guess is that you can remove celery and rabbitmq by setting In the past it was even possible to run the dev server without postgres but with sqlite. But we removed that option, as far as I remember, because of thread-safe problems with sqlite. Going back even further, there was a way to quickly install geonode from the apt repository. You can still see something similar done on the OS-GEO Live CD. If that helps you understand how things work. Overall, I agree with you. GeoNode is definitely a complex system. Compared to earlier times maybe even higher level in terms of programming. However, from my experience, this code complexity also brings a lot more stability compared to earlier times. (Kudos to geosolutions) |
Beta Was this translation helpful? Give feedback.
-
Regarding GPLv2: From my understanding If you use Geonode, (which is licensed under GPLv2), to build software for a client:
This conversation / answer might be of interest https://softwareengineering.stackexchange.com/questions/314635/can-we-use-a-gpl-2-product-for-the-commercial-purpose |
Beta Was this translation helpful? Give feedback.
-
I guess this is two suggestions.
Geonode looks great. It is django + geoserver + a lot of devops scripts. Neither django or geoserver use strict copyleft licenses. Is there a reason geonode is using the GPL3? Then you go on to copyright the name "geonode". A copyleft license with a copyright name. It is a puzzle.
There is a lot of "stuff" in geonode. Almost too much stuff. The installation tutorials promote using docker (which is a black box) or some variation of bare metal installs and then more docker or devops scripts.
It would be great to have a very minimalistic version of geonode available without all the celery and trackers and bells and whistles. Just django interacting with geoserver with the geonode styling and functionality (if that is possible).
Explain how to briefly install and prep both django and geoserver for geonode and how to connect a database. This way users can explore geonode gently and with a better understanding of how it integrates with django and geoserver. The devops scripts are handy but obfuscate a lot of things users might care about.
I think by doing this it will become clear where django and geoserver come into play and then what geonode is bringing to the table. Since you have used a viral copyleft license for this platform it is most likely untouchable to commercial interests. If it is all just django and geoserver and geonode is mostly html and css customization, please reconsider the use of the GPL3 license.
Beta Was this translation helpful? Give feedback.
All reactions