Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. I used the phrase 'too big to fork' in another thread.

I used the phrase 'too big to fork' in another thread.

Scheduled Pinned Locked Moved Uncategorized
19 Posts 4 Posters 0 Views
  • 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.
  • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

    @david_chisnall with source control, diffing, patching, merging, the size of the project does not matter.

    david_chisnall@infosec.exchangeD This user is from outside of this forum
    david_chisnall@infosec.exchangeD This user is from outside of this forum
    david_chisnall@infosec.exchange
    wrote last edited by
    #4

    @lritter That is so obviously untrue, I can’t even begin to think of how to argue with it.

    lritter@mastodon.gamedev.placeL 1 Reply Last reply
    0
    • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

      @lritter That is so obviously untrue, I can’t even begin to think of how to argue with it.

      lritter@mastodon.gamedev.placeL This user is from outside of this forum
      lritter@mastodon.gamedev.placeL This user is from outside of this forum
      lritter@mastodon.gamedev.place
      wrote last edited by
      #5

      @david_chisnall we have two very different views of reality, it appears.

      lritter@mastodon.gamedev.placeL david_chisnall@infosec.exchangeD 2 Replies Last reply
      0
      • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

        @david_chisnall we have two very different views of reality, it appears.

        lritter@mastodon.gamedev.placeL This user is from outside of this forum
        lritter@mastodon.gamedev.placeL This user is from outside of this forum
        lritter@mastodon.gamedev.place
        wrote last edited by
        #6

        @david_chisnall it certainly does help to keep projects small and focused.

        but, for instance, ibm's eclipse ide, despite being, to put it gently, a collossal turd, has been forked numerous times.

        1 Reply Last reply
        0
        • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

          @david_chisnall we have two very different views of reality, it appears.

          david_chisnall@infosec.exchangeD This user is from outside of this forum
          david_chisnall@infosec.exchangeD This user is from outside of this forum
          david_chisnall@infosec.exchange
          wrote last edited by
          #7

          @lritter So you maintain a fork of LibreOffice with custom features? Or Chromium? Or even something smaller like LLVM? Or any other million-line or larger project?

          Have you, in fact, ever tried to do the thing that you’re saying is easy independent of scale? When someone does a refactoring upstream and removes a function that your local change was calling and changes a data structure that it relies on, version control makes it easy for you to keep the update? When this happens once a week, it’s easy for you to keep up with security updates and keep your custom feature working?

          lritter@mastodon.gamedev.placeL serapath@mastodon.gamedev.placeS 2 Replies Last reply
          1
          0
          • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

            @lritter So you maintain a fork of LibreOffice with custom features? Or Chromium? Or even something smaller like LLVM? Or any other million-line or larger project?

            Have you, in fact, ever tried to do the thing that you’re saying is easy independent of scale? When someone does a refactoring upstream and removes a function that your local change was calling and changes a data structure that it relies on, version control makes it easy for you to keep the update? When this happens once a week, it’s easy for you to keep up with security updates and keep your custom feature working?

            lritter@mastodon.gamedev.placeL This user is from outside of this forum
            lritter@mastodon.gamedev.placeL This user is from outside of this forum
            lritter@mastodon.gamedev.place
            wrote last edited by
            #8

            @david_chisnall woah hey now, i didn't say it was easy. but you made it sound like it is impossible.

            david_chisnall@infosec.exchangeD 1 Reply Last reply
            0
            • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

              @david_chisnall woah hey now, i didn't say it was easy. but you made it sound like it is impossible.

              david_chisnall@infosec.exchangeD This user is from outside of this forum
              david_chisnall@infosec.exchangeD This user is from outside of this forum
              david_chisnall@infosec.exchange
              wrote last edited by
              #9

              @lritter You literally said that the tooling makes the size of the project irrelevant:

              with source control, diffing, patching, merging, the size of the project does not matter.

              And this is obviously incorrect for anyone who has maintained a fork of a large project for any length of time.

              lritter@mastodon.gamedev.placeL 1 Reply Last reply
              1
              0
              • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                @lritter So you maintain a fork of LibreOffice with custom features? Or Chromium? Or even something smaller like LLVM? Or any other million-line or larger project?

                Have you, in fact, ever tried to do the thing that you’re saying is easy independent of scale? When someone does a refactoring upstream and removes a function that your local change was calling and changes a data structure that it relies on, version control makes it easy for you to keep the update? When this happens once a week, it’s easy for you to keep up with security updates and keep your custom feature working?

                serapath@mastodon.gamedev.placeS This user is from outside of this forum
                serapath@mastodon.gamedev.placeS This user is from outside of this forum
                serapath@mastodon.gamedev.place
                wrote last edited by
                #10

                @david_chisnall @lritter

                i have no clue what the background of this discussion is but it popped into my notifications right before i went to bed and i personally agree with the take of tiny small easy to focus modules being true open source and big projects an anti pattern.

                i wonder why somebody woupd say size doesnt matter. isnt it obvious that smaller is better? 😁

                ...i mean - who knows, maybe we get stable reliable deterministic LLMs who lagically make size not matter, but for now 🤷‍♀️

                1 Reply Last reply
                0
                • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                  @lritter You literally said that the tooling makes the size of the project irrelevant:

                  with source control, diffing, patching, merging, the size of the project does not matter.

                  And this is obviously incorrect for anyone who has maintained a fork of a large project for any length of time.

                  lritter@mastodon.gamedev.placeL This user is from outside of this forum
                  lritter@mastodon.gamedev.placeL This user is from outside of this forum
                  lritter@mastodon.gamedev.place
                  wrote last edited by
                  #11

                  @david_chisnall ok. maybe i was too optimistic in my wording.

                  what you just wrote about seems to weigh more heavily though: frequent breaking changes. and they can also occur in small projects.

                  lritter@mastodon.gamedev.placeL 1 Reply Last reply
                  0
                  • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

                    @david_chisnall ok. maybe i was too optimistic in my wording.

                    what you just wrote about seems to weigh more heavily though: frequent breaking changes. and they can also occur in small projects.

                    lritter@mastodon.gamedev.placeL This user is from outside of this forum
                    lritter@mastodon.gamedev.placeL This user is from outside of this forum
                    lritter@mastodon.gamedev.place
                    wrote last edited by
                    #12

                    @david_chisnall and when you depend on a bunch of small projects and they all break abi all the time, does it then make much of a difference if the dysfunctionality is monolithic or modular?

                    david_chisnall@infosec.exchangeD 1 Reply Last reply
                    0
                    • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

                      @david_chisnall and when you depend on a bunch of small projects and they all break abi all the time, does it then make much of a difference if the dysfunctionality is monolithic or modular?

                      david_chisnall@infosec.exchangeD This user is from outside of this forum
                      david_chisnall@infosec.exchangeD This user is from outside of this forum
                      david_chisnall@infosec.exchange
                      wrote last edited by
                      #13

                      @lritter

                      If small projects break their APIs (or ABIs) all the time, that affects all of their users. If a large project breaks their internal APIs, that only affects downstream forks. That makes the cost-benefit calculations for them very different.

                      lritter@mastodon.gamedev.placeL 1 Reply Last reply
                      0
                      • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                        @lritter

                        If small projects break their APIs (or ABIs) all the time, that affects all of their users. If a large project breaks their internal APIs, that only affects downstream forks. That makes the cost-benefit calculations for them very different.

                        lritter@mastodon.gamedev.placeL This user is from outside of this forum
                        lritter@mastodon.gamedev.placeL This user is from outside of this forum
                        lritter@mastodon.gamedev.place
                        wrote last edited by
                        #14

                        @david_chisnall i would say this too depends on style and internal culture. but yes. there's a good reason why i always stuck to LLVMs/libclangs rather stable C ABI rather than messing around with their volatile class system. it takes them forever though to expose all the parts.

                        lritter@mastodon.gamedev.placeL 1 Reply Last reply
                        0
                        • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

                          @david_chisnall i would say this too depends on style and internal culture. but yes. there's a good reason why i always stuck to LLVMs/libclangs rather stable C ABI rather than messing around with their volatile class system. it takes them forever though to expose all the parts.

                          lritter@mastodon.gamedev.placeL This user is from outside of this forum
                          lritter@mastodon.gamedev.placeL This user is from outside of this forum
                          lritter@mastodon.gamedev.place
                          wrote last edited by
                          #15

                          @david_chisnall we can also debate how much of that is due to C++ leaking implementation details almost by design.

                          david_chisnall@infosec.exchangeD 1 Reply Last reply
                          0
                          • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

                            @david_chisnall we can also debate how much of that is due to C++ leaking implementation details almost by design.

                            david_chisnall@infosec.exchangeD This user is from outside of this forum
                            david_chisnall@infosec.exchangeD This user is from outside of this forum
                            david_chisnall@infosec.exchange
                            wrote last edited by
                            #16

                            @lritter

                            C++ here doesn’t make a difference for forks. You can build stable public interfaces in C++ but it’s harder. But when you’re maintaining a fork, it’s the internal structure that matters. No amount of information hiding helps when you’re on the other side of that boundary. The Linux kernel is a good case study here: they strive for 100% ABI compatibility for things in userspace but routinely make changes that break out-of-tree kernel modules and cause huge merge headaches for downstream forks.

                            lritter@mastodon.gamedev.placeL 1 Reply Last reply
                            0
                            • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                              @lritter

                              C++ here doesn’t make a difference for forks. You can build stable public interfaces in C++ but it’s harder. But when you’re maintaining a fork, it’s the internal structure that matters. No amount of information hiding helps when you’re on the other side of that boundary. The Linux kernel is a good case study here: they strive for 100% ABI compatibility for things in userspace but routinely make changes that break out-of-tree kernel modules and cause huge merge headaches for downstream forks.

                              lritter@mastodon.gamedev.placeL This user is from outside of this forum
                              lritter@mastodon.gamedev.placeL This user is from outside of this forum
                              lritter@mastodon.gamedev.place
                              wrote last edited by
                              #17

                              @david_chisnall good points. what is your opinion on how they could fix it?

                              david_chisnall@infosec.exchangeD 1 Reply Last reply
                              0
                              • lritter@mastodon.gamedev.placeL lritter@mastodon.gamedev.place

                                @david_chisnall good points. what is your opinion on how they could fix it?

                                david_chisnall@infosec.exchangeD This user is from outside of this forum
                                david_chisnall@infosec.exchangeD This user is from outside of this forum
                                david_chisnall@infosec.exchange
                                wrote last edited by
                                #18

                                @lritter

                                I’ve written a lot on this subject, most recently this post, which is probably a good starting point.

                                lritter@mastodon.gamedev.placeL 1 Reply Last reply
                                0
                                • david_chisnall@infosec.exchangeD david_chisnall@infosec.exchange

                                  @lritter

                                  I’ve written a lot on this subject, most recently this post, which is probably a good starting point.

                                  lritter@mastodon.gamedev.placeL This user is from outside of this forum
                                  lritter@mastodon.gamedev.placeL This user is from outside of this forum
                                  lritter@mastodon.gamedev.place
                                  wrote last edited by
                                  #19

                                  @david_chisnall i'm familiar with conway's law. there is nothing to object to in this post except that it's too abstract to answer my question.

                                  1 Reply Last reply
                                  0
                                  • R relay@relay.mycrowd.ca shared this topic
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  • Login

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Categories
                                  • Recent
                                  • Tags
                                  • Popular
                                  • World
                                  • Users
                                  • Groups