• herrcaptain
    link
    fedilink
    arrow-up
    258
    ·
    6 months ago

    I love that they specify that they’re not accepting pull requests.

    • QuazarOmega@lemy.lol
      link
      fedilink
      English
      arrow-up
      21
      ·
      6 months ago

      Even funnier when it’s their own platform and it has been missing the feature to disable them for so long afaik

    • zarenki@lemmy.ml
      link
      fedilink
      English
      arrow-up
      131
      arrow-down
      1
      ·
      6 months ago

      In 2014, MS-DOS 1.25 and 2.0 were released under a Microsoft shared-source license (Microsoft Research License) which forbids redistribution

      In 2018, both versions were published to GitHub and relicensed as MIT, making them properly open-source

      Today, MS-DOS 4.00 was added to that repo, also under MIT.

  • fubarx@lemmy.ml
    link
    fedilink
    arrow-up
    142
    arrow-down
    15
    ·
    6 months ago

    Ignore them. Send a pull request with the full source of Arch Linux.

  • viking@infosec.pub
    link
    fedilink
    arrow-up
    96
    arrow-down
    1
    ·
    6 months ago

    LOL, some of the comments in the source are gold.

    https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/DOS/ABORT.ASM

    Note:  We do need to explicitly close FCBs.  Reasons are as follows:  If we
    ; are running in the no-sharing no-network environment, we are simulating the
    ; 2.0 world and thus if the user doesn't close the file, that is his problem
    ; BUT...  the cache remains in a state with garbage that may be reused by the
    ; next process.  We scan the set and blast the ref counts of the FCBs we own.
    ;
    ; If sharing is loaded, then the following call to close process will
    ; correctly close all FCBs.  We will then need to walk the list AFTER here.
    ;
    ; Finally, the following call to NET_Abort will cause an EOP to be sent to all
    ; known network resources.  These resources are then responsible for cleaning
    ; up after this process.
    ;
    ; Sleazy, eh?~
    
      • interdimensionalmeme@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        6 months ago

        I imagine that’s already a compatibility thing. If the os closed the file handles at that point but the program was expecting to do that, it might crash.

  • katy ✨@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    87
    arrow-down
    3
    ·
    6 months ago

    i remember writing .bat files and pretending they were really fancy update scripts when i was like ten they did nothing but it was still fun :)

    • Ms. ArmoredThirteen@lemmy.ml
      link
      fedilink
      arrow-up
      58
      ·
      6 months ago

      Like half of my job is writing .bat files to automate stuff locally and not tell my boss that all I do anymore is double click the right things in the right order…

      • viking@infosec.pub
        link
        fedilink
        arrow-up
        24
        arrow-down
        1
        ·
        6 months ago

        You can put in a timeout command at the end, and then call the next .bat file.

        For example “TIMEOUT /T 60” waits for 60 seconds before resuming, or you can override it by pressing any key.

        So if you know how long the wait time between scripts is, just write a master.bat and call them in order, with adequate waiting time in between.

        • Ms. ArmoredThirteen@lemmy.ml
          link
          fedilink
          arrow-up
          3
          ·
          6 months ago

          Okay so the dumb part is a lot of this is me abstracting away our complex build system. I’ve basically bubble-gummed a dedicated build system in top of it for only the tasks I do. At a certain point if I start adding configurations or timing I might as well just wrap it in gradle or something. But the system that I’m calling is already their attempt at simplifying another build system that’s underneath it that was written by the old guard using arcane sorcery. The whole thing is a mess

      • CatTrickery@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        11
        ·
        6 months ago

        I had a job like that and powershell was a godsend. I let it slip when I accidentally set the multiplier for the delay randomiser too low and it did a months work in a morning. I ended up writing a guide for the others there when I left but sadly everyone but me had computers that supported newer versions of Windows where the scripts ended up broken. They asked me to come back and update it the Monday after I left. I asked if they would pay me to do it. They said no. Then I said no.

        • Ms. ArmoredThirteen@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          6 months ago

          This is part of why I still have manual kickoffs for mine. Never need to worry about work getting done while I’m away or getting done suspiciously fast. Also they should have paid you lol, the dingdongs. Would cost a lot more just in work lost having someone else spend time deciphering and fixing it. They could always get someone else up to speed with the system after it is fixed by you so there’s little or no down time

  • Zerush@lemmy.ml
    link
    fedilink
    arrow-up
    53
    arrow-down
    1
    ·
    6 months ago

    MS-DOS, Source public available on March 25 2014 with MS Research License, released with as Free Software MIT license in 2018, this yer released as Open Source MS-DOS 4.0. Anyway, the Source code was available since 2014, only different licenses since then.

  • moon@lemmy.ml
    link
    fedilink
    arrow-up
    35
    arrow-down
    1
    ·
    6 months ago

    What’s the use case that would upset Microsoft the most?

    • catloaf@lemm.ee
      link
      fedilink
      English
      arrow-up
      5
      ·
      6 months ago

      They probably only got clearance from their lawyers (or IBM’s lawyers) just now.

      A lot of proprietary software includes bits from other proprietary software that they don’t have the rights to open-source. And untangling and removing those bits takes time and effort.

  • Omega_Jimes
    link
    fedilink
    arrow-up
    33
    arrow-down
    1
    ·
    6 months ago

    Look at them, embracing open source like this, how wonderful.

    • JasonDJ@lemmy.zip
      link
      fedilink
      arrow-up
      38
      arrow-down
      1
      ·
      6 months ago

      I’m sure the only reason why they waited this long is that they needed to make sure it’s old enough that the companies they stole code from can’t sue.

        • MacN'Cheezus@lemmy.today
          link
          fedilink
          English
          arrow-up
          4
          ·
          6 months ago

          Perhaps, if there are some very specific compatibility issues that haven’t been solved yet.

          That said, MS-DOS 4 isn’t even the most recent version, the last one was 6.22 to my knowledge, and IIRC a lot of games tended to require at least version 5 or 6.

        • ProgrammingSocks@pawb.social
          link
          fedilink
          arrow-up
          1
          ·
          6 months ago

          2 things, the project exists and is called ReactOS. 2nd, the kernel in the versions of Windows anyone thinks about is the NT kernel which they will never release to be open source. The NT Kernel was built specifically so that they didn’t have to use DOS to make Windows work.

      • h3rm17@sh.itjust.works
        link
        fedilink
        arrow-up
        8
        ·
        6 months ago

        They sure are extinguishing any posible fear I may have about the absolutely destroying anything beautiful.

  • SuperNerd@programming.dev
    link
    fedilink
    arrow-up
    32
    ·
    6 months ago

    So cool, thanks. As a kid I spent so much time in DEBUG, stepping through DOS’s executables, and especially the Interrupt handlers. It’s so neat to see the actual source code-- way easier to read and follow. I didn’t know it was all written in assembly, from within Debug it sometimes seemed so messy and convoluted that I just assumed more was written in C.