sketchucation logo sketchucation
    • Login
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    πŸ”Œ Smart Spline | Fluid way to handle splines for furniture design and complex structures. Download

    [CityGen] Core vs Module

    Scheduled Pinned Locked Moved City Generator
    14 Posts 4 Posters 12.8k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Chris FullmerC Offline
      Chris Fullmer
      last edited by

      I'm still trying to pin down in my mind how we are developing this. Here is what I am envisioning.

      The Core
      This should be just the core files that run the plugin. No modules. The core files organize the street generator modules, organize the building modules, etc. All modules are managed by the core code, but they are not a part of the core.

      The Modules
      These should be created by anyone, and they should be easily added to the core. No module should rely on another, or at least the core should not expect interdependent modules. No modules should be built into the core files.


      That is my take on the core vs. module definition and what their roles should be.

      This would mean that our Open Source project is only to develop the core files. But that's virtually impossible without developing modules to test with the core, so then the open source project should be to develop the core PLUS any modules that we happen to make along the way.

      Anything we make, core and modules, is under a GNU open soure license which makes it so anyone can alter, tweak, redistribute, and sell our code. But they have to keep their project in the same license as ours (they would have to develop it as open source also, and their code could legally be tweaked and resold).

      So if we set our code up so that modules are easy to just drop into their correct place and the Core recognizes them, then people could develop their own modules outside the GNU license if they want. Someone could develop an entire suite of Medieval modules (streets, sidewalks, block makers, building generators) and they can develop their modules under whatever license they choose. And all the user would have to do would be to have the core installed, and then add the medieval module files, and the core would recognize them and let the user use those files.

      But my point is that I think the core and the modules need to be well separated. And modules need to be well separated from eachother.

      Hmm, I've got some ideas how modules should be "installed", but I don't have anything to show for it, so I guess I'll just write a bunch of stuff and then see what ya'll think of it.

      But for now, how does the above sound? About right? Off base? Is there a bigger picture to be aiming for?

      Chris

      Lately you've been tan, suspicious for the winter.
      All my Plugins I've written

      1 Reply Last reply Reply Quote 0
      • thomthomT Offline
        thomthom
        last edited by

        I do think that some modules will have to require each other. If one module is an extension of another.

        Do we want a license that allows people to take the code and sell it?

        Thomas Thomassen β€” SketchUp Monkey & Coding addict
        List of my plugins and link to the CookieWare fund

        1 Reply Last reply Reply Quote 0
        • Chris FullmerC Offline
          Chris Fullmer
          last edited by

          I think the parts in modules that might need to build from one to the next should be contained within the core. The core should be robust enough to handle the info that will need to be passed betwen the modules. I think that is the only way to make it so modules can be developed independently of the core.

          And the license....I'm not too familiar with all the open source licenses out there. But this is one of the most common ones. Its pretty standard. And google code only has maybe 5 license options available. So we could defintely look at the others before we get too far into it. But I'm guessing that most/all of them allow re-distributing and selling the code.

          But the one I chose guarantees that if anyone uses portions of the code, they must also license their product with the same license. So anyone who uses actual chunks of the source code will also be making an open source project. But I'm open to changin if there is a better one listed. It might just need its own thread if we want to look at the major and minor differences between the offered licenses.

          Chris

          Lately you've been tan, suspicious for the winter.
          All my Plugins I've written

          1 Reply Last reply Reply Quote 0
          • thomthomT Offline
            thomthom
            last edited by

            @chris fullmer said:

            But the one I chose guarantees that if anyone uses portions of the code, they must also license their product with the same license. So anyone who uses actual chunks of the source code will also be making an open source project. But I'm open to changin if there is a better one listed. It might just need its own thread if we want to look at the major and minor differences between the offered licenses.

            I'm just concerned if it would be possible for people to take our work, repackage it just change the branding and sell it. Even though their project is made open source it wouldn't not benefit us unless they added something themselves.

            Thomas Thomassen β€” SketchUp Monkey & Coding addict
            List of my plugins and link to the CookieWare fund

            1 Reply Last reply Reply Quote 0
            • Chris FullmerC Offline
              Chris Fullmer
              last edited by

              There is also a difference between copyright and licensing. I'm not sure which is which and how copyright plays into the GNU license. So for some light reading, here is a list of all licenses offered on the google code site:

              Apache License 2.0
              Artistic License/GPL <---PERL invented this license and used it
              Eclipse Public License 1.0
              GNU GPL 2.0
              GNU GPL 3.0 <---This is the current project license
              GNU Lesser GPL
              MIT License
              Mozilla Public License 1.1
              New BSD License

              So there's some light reading. From what I could tell, they all permit resale of the code. But, its just not really commong I don't think. I just looked at Ruby's license, its interesting:

              Link Preview Image
              404: Not Found | Ruby

              The requested page does not exist.You might try and start from the [home page](/).

              favicon

              Ruby Programming Language (www.ruby-lang.org)

              I like the way #2 is written. It keeps alterations forced to stay within a company for private use, and anything made public has to be put online publicly and the author has permission to include it in ruby if he wants to. But any of the GPL's listed on the code site also do the same essentially.

              Anyhow, lets look at the licenses closer. The main difference I could see in these listed on the google code site is that some allow people to change your code and then choose whatever license they wish - which we do not want, because then they could change the code and add their own proprietary license so they would not be required to share their changes.

              Licenses.....bleh!

              Chris

              Lately you've been tan, suspicious for the winter.
              All my Plugins I've written

              1 Reply Last reply Reply Quote 0
              • thomthomT Offline
                thomthom
                last edited by

                @chris fullmer said:

                Licenses.....bleh!

                Ditto-bleh! 🀒

                Thomas Thomassen β€” SketchUp Monkey & Coding addict
                List of my plugins and link to the CookieWare fund

                1 Reply Last reply Reply Quote 0
                • R Offline
                  remus
                  last edited by

                  I like the sound of GNU GPL 3.0 πŸ‘

                  I think we need to make it very clear that the core and any modules written are all part of the same program, though. Otherwise the situation you described chris (writing modules under a different license and selling them) would be all too easy.

                  http://remusrendering.wordpress.com/

                  1 Reply Last reply Reply Quote 0
                  • Chris FullmerC Offline
                    Chris Fullmer
                    last edited by

                    @remus said:

                    I think we need to make it very clear that the core and any modules written are all part of the same program, though. Otherwise the situation you described chris (writing modules under a different license and selling them) would be all too easy.

                    Would that be a bad thing though? I kind of like the idea of people being able to develop their modules under whatever license they want. I don't like the idea of them being able to take the core and re-distribute it under a different license, but modules seem like anyone should be able to make them under whatever license they want.

                    That is what the GNU GPL would allow (I think?). Users would not be able to ever change the license on the core, or any tweaks on the core, or additions to the core itself. That all must always remain opensource. But I think that it would allow modules to be developed under whatever license they want, which I see as a good thing. People could add moules directly to our open source project, like we will be doing, and that would guarantee that the module is open source forever. OR they could develop and distribute on their own and sell it if they like. But they would still be using our open source core.

                    OR I'm sure we could make it so that ALL modules people make have to be open source too. This would keep everything open. My concern is that it might deter people who would like to make a few bucks from writing modules. And I'm thinking that "pay-for" modules are better than no modules being developed.

                    To me it is like the "SketchUp" model. They've made a platform (core) that anyone can write their own plugins (modules) for and sell them. The idea being that these plugins help draw more people to use SketchUp. People can alsow write free ones, and they can write not free ones, but the more that get written the better for SketchUp.

                    I see parallel there for us. The more modules that get written to work with our core, the better for us (mor publicity, more general interest). Even if they are pay-for modules.

                    But maybe I'm over thinking this.

                    And maybe (definitely) I'm biased, because I would like to be able to write pay-for modules after the core is solid. So I should put that out there too.... Am I the only one? πŸ˜†

                    Chris

                    Lately you've been tan, suspicious for the winter.
                    All my Plugins I've written

                    1 Reply Last reply Reply Quote 0
                    • thomthomT Offline
                      thomthom
                      last edited by

                      I'm fine with people writing commercial modules. But I just don't want to see anyone taking a free module and selling it with only minor tweaks.

                      Thomas Thomassen β€” SketchUp Monkey & Coding addict
                      List of my plugins and link to the CookieWare fund

                      1 Reply Last reply Reply Quote 0
                      • R Offline
                        remus
                        last edited by

                        Youve convinced me chris πŸ˜„

                        Thom, if free modules are distributed with the GNU GPL license and someone decided they wanted to make a commercial version of it they would have to make the source code available, which effectively eliminates easy, legal methods for selling on already written modules licensed with GNU GPL.

                        http://remusrendering.wordpress.com/

                        1 Reply Last reply Reply Quote 0
                        • thomthomT Offline
                          thomthom
                          last edited by

                          Ok. I'm happy.

                          Back to coding? πŸ˜„

                          Thomas Thomassen β€” SketchUp Monkey & Coding addict
                          List of my plugins and link to the CookieWare fund

                          1 Reply Last reply Reply Quote 0
                          • J Offline
                            Jim
                            last edited by

                            I'm not sure these licenses even hold up in court - have they ever been tested? Besides, it would cost a small fortune to find out. If someone does violate your license, what are you going to do about it?

                            This is how it would work in the US, anyway.

                            Hi

                            1 Reply Last reply Reply Quote 0
                            • thomthomT Offline
                              thomthom
                              last edited by

                              @jim said:

                              what are you going to do about it?

                              Model a little voodoo doll of them and run Chris' greeble plugin...? πŸ˜„

                              Thomas Thomassen β€” SketchUp Monkey & Coding addict
                              List of my plugins and link to the CookieWare fund

                              1 Reply Last reply Reply Quote 0
                              • R Offline
                                remus
                                last edited by

                                http://en.wikipedia.org/wiki/GNU_General_Public_License#The_GPL_in_court Seems there has been moderte sucess in defending GPL licenses in court.

                                Not that we'd ever have the cash to take anyone to court πŸ˜› more than anything i think its good to have this sort of thing in place so we can wave the piece of paper (or .txt file) at anyone who does rip off a developers work; an empty threat if you will.

                                http://remusrendering.wordpress.com/

                                1 Reply Last reply Reply Quote 0
                                • 1 / 1
                                • First post
                                  Last post
                                Buy SketchPlus
                                Buy SUbD
                                Buy WrapR
                                Buy eBook
                                Buy Modelur
                                Buy Vertex Tools
                                Buy SketchCuisine
                                Buy FormFonts

                                Advertisement