When is Something Built from Source
-
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
From the other thread
Scott, other than dissecting the install script, how is a non dev person suppose to know if they are installing non compiled script versus needing to be compiled source versus pre compiled code?
Well, hopefully they will know because they will be told to "install" rather than "build". But there are some key hints like...
- NodeJS cannot be compiled.
- NPM is a package installer, not a compilation process.
- No compiler is ever installed by the end user.
The lack of compilation step really is the big tip off. There is no compiler dependency anywhere.
Again - all of that stuff can be scripted - I had no idea XO was made in NodeJS, you can script the install of the compiler, you can script the compilation process.
So I don't see this big tip off you're talking about. I will admit that I'm looking at this through my Windows admin goggles.
Someone who knows and understands what the scripts are doing I would fully expect to understand this process.
-
@scottalanmiller said in When is Something Built from Source:
It would be incredibly uncommon for someone to build from source and not know it. Could it be automated? Yeah, potentially. For anything big? No, not reasonably. Compiling from source is a bit technical and you would know if you were doing it. If you don't know how to compile C code, assume you aren't
It's a bit like my friend's father in law who told everyone that he was a "video game programmer". Turns out, he didn't know what programming was and thought that it meant "installing". So he would pop a CD into his PC, double click the installer and five minutes later he's announce that he's "programmed a new game".
Yeah - sadly, this is completely common.
-
@Dashrender said in When is Something Built from Source:
Again - all of that stuff can be scripted - I had no idea XO was made in NodeJS, you can script the install of the compiler, you can script the compilation process.
CAN script it, yes, but you'd have a compiler sitting about. Literally nothing does that. And compilation is not reliable, that's why it is scary to talk about. Basically you never know if it will work across different systems. So you need human intervention. If you were actually able to script compilation reliably, no one would be concerned about using it.
-
@Dashrender said in When is Something Built from Source:
So I don't see this big tip off you're talking about. I will admit that I'm looking at this through my Windows admin goggles.
Actually use those goggles. Tell me when anyone has snuck a compiler past you on Windows? I bet the answer is... never. You've never downloaded source code and run "commands" and ended up with executables. It just doesn't happen - it's that complex and Windows is much more predictable as a single OS than Linux is as an OS family.
-
@Dashrender said in When is Something Built from Source:
Again - all of that stuff can be scripted - I had no idea XO was made in NodeJS,
The process involved using NPM, the NodeJS Package Manager
-
@Dashrender said in When is Something Built from Source:
@scottalanmiller said in When is Something Built from Source:
It would be incredibly uncommon for someone to build from source and not know it. Could it be automated? Yeah, potentially. For anything big? No, not reasonably. Compiling from source is a bit technical and you would know if you were doing it. If you don't know how to compile C code, assume you aren't
It's a bit like my friend's father in law who told everyone that he was a "video game programmer". Turns out, he didn't know what programming was and thought that it meant "installing". So he would pop a CD into his PC, double click the installer and five minutes later he's announce that he's "programmed a new game".
Yeah - sadly, this is completely common.
And that's what makes it useful as a marketing tool. It's just common enough that things like this are kind of acceptable, even though they aren't accurate. But it creates a sense of wonder, even when dealing with something very simple.
-
It seems like we need a new term for scripting code - i.e. not calling it source code.
A Dashrender thing source code to me is code that needs to be compiled to be useful. A script is not source code in my mind, though I can definitely see why others would say otherwise, so I wouldn't bother arguing the point.
Before this thread, if someone posted here's my source code, grab it and install it. I'd ask - how do I compile it?
I guess now I have to ask - does it require compilation, or is it some sort of script? -
@Dashrender said in When is Something Built from Source:
It seems like we need a new term for scripting code - i.e. not calling it source code.
We don't normally It IS source, because it's the first thing created. But normally we call it a script, until someone wants to make it sound like they are going to compile it later. Just the use of "source" at all is, you are correct, used here with the intent of being misleading. Sure, it's source, it is also the final product. It's everything.
-
@Dashrender said in When is Something Built from Source:
Before this thread, if someone posted here's my source code, grab it and install it. I'd ask - how do I compile it?
I guess now I have to ask - does it require compilation, or is it some sort of script?You are safe assuming that anyone saying it is source means that you need to compile. It's purely in the circumstances of marketing that someone technical would use it in this manner. You truly never hear of scripts called source code that I know of. It's not entirely wrong, it's just really pointless and silly.
-
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
So I don't see this big tip off you're talking about. I will admit that I'm looking at this through my Windows admin goggles.
You've never downloaded source code and run "commands" and ended up with executable.
This is the part that makes the most sense to me.
Think of Visual Basic, you write the code, design the form, and then you compile it, and get an executable that you can ship out and anyone can install the application from.
-
@DustinB3403 said in When is Something Built from Source:
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
So I don't see this big tip off you're talking about. I will admit that I'm looking at this through my Windows admin goggles.
You've never downloaded source code and run "commands" and ended up with executable.
This is the part that makes the most sense to me.
Think of Visual Basic, you write the code, design the form, and then you compile it, and get an executable that you can ship out and anyone can install the application from.
Yup, exactly. VB6 was a compiler. You you never, ever wrote VB6 code and "ran" it. It always had to be compiled first and the only thing that you "ran" was an .exe executable fie.
-
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
So I don't see this big tip off you're talking about. I will admit that I'm looking at this through my Windows admin goggles.
Actually use those goggles. Tell me when anyone has snuck a compiler past you on Windows? I bet the answer is... never. You've never downloaded source code and run "commands" and ended up with executables. It just doesn't happen - it's that complex and Windows is much more predictable as a single OS than Linux is as an OS family.
Oh, you're right, I don't believe that has ever happened on Windows, but then again, scripting things like this wouldn't be common on Windows, nor using source to make things work on Windows (for the every-admin/generalist). If I can't find the precompiled version, I move on to something else.
-
@Dashrender said in When is Something Built from Source:
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
So I don't see this big tip off you're talking about. I will admit that I'm looking at this through my Windows admin goggles.
Actually use those goggles. Tell me when anyone has snuck a compiler past you on Windows? I bet the answer is... never. You've never downloaded source code and run "commands" and ended up with executables. It just doesn't happen - it's that complex and Windows is much more predictable as a single OS than Linux is as an OS family.
Oh, you're right, I don't believe that has ever happened on Windows, but then again, scripting things like this wouldn't be common on Windows, nor using source to make things work on Windows (for the every-admin/generalist). If I can't find the precompiled version, I move on to something else.
It isn't common on Linux, either. I've done it, but I go years in between doing it and have never done it for production.
-
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
Again - all of that stuff can be scripted - I had no idea XO was made in NodeJS, you can script the install of the compiler, you can script the compilation process.
CAN script it, yes, but you'd have a compiler sitting about. Literally nothing does that. And compilation is not reliable, that's why it is scary to talk about. Basically you never know if it will work across different systems. So you need human intervention. If you were actually able to script compilation reliably, no one would be concerned about using it.
What makes scripting compilation so unreliable? Is it that there are dozens of nix flavors out there, and you have no idea what's on one version from the next? This just adds more fuel to the fire of how much I hate talking about Linux... Linux should almost NEVER be spoken of, but we should only talk about OSes.
-
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
Again - all of that stuff can be scripted - I had no idea XO was made in NodeJS,
The process involved using NPM, the NodeJS Package Manager
I run an install script that one of you guys wrote - so I have no idea that NPM is being used, nor what it was prior to this conversation.
-
@Dashrender said in When is Something Built from Source:
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
Again - all of that stuff can be scripted - I had no idea XO was made in NodeJS, you can script the install of the compiler, you can script the compilation process.
CAN script it, yes, but you'd have a compiler sitting about. Literally nothing does that. And compilation is not reliable, that's why it is scary to talk about. Basically you never know if it will work across different systems. So you need human intervention. If you were actually able to script compilation reliably, no one would be concerned about using it.
What makes scripting compilation so unreliable? Is it that there are dozens of nix flavors out there, and you have no idea what's on one version from the next? This just adds more fuel to the fire of how much I hate talking about Linux... Linux should almost NEVER be spoken of, but we should only talk about OSes.
Yes and no. It's that compiling is literally "building software for your system" and requires loads of support tools and is dependent on the architecture. So you need to know so many things that even two versions of Windows or CentOS might be problematic.
Scripting is certainly unreliable between OSes, or between OS families, or whatever. But it isn't a Linux variation thing, or else it would be used on Windows just as often.
-
@Dashrender said in When is Something Built from Source:
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
Again - all of that stuff can be scripted - I had no idea XO was made in NodeJS,
The process involved using NPM, the NodeJS Package Manager
I run an install script that one of you guys wrote - so I have no idea that NPM is being used, nor what it was prior to this conversation.
That's another tip off, if you install from script, you can pretty safely assume that it's not source code Unless that script creates a million errors that you have to correct by hand.
-
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
So I don't see this big tip off you're talking about. I will admit that I'm looking at this through my Windows admin goggles.
Actually use those goggles. Tell me when anyone has snuck a compiler past you on Windows? I bet the answer is... never. You've never downloaded source code and run "commands" and ended up with executables. It just doesn't happen - it's that complex and Windows is much more predictable as a single OS than Linux is as an OS family.
Oh, you're right, I don't believe that has ever happened on Windows, but then again, scripting things like this wouldn't be common on Windows, nor using source to make things work on Windows (for the every-admin/generalist). If I can't find the precompiled version, I move on to something else.
It isn't common on Linux, either. I've done it, but I go years in between doing it and have never done it for production.
Right - OK that makes sense. I recall you talking about this years ago - many years ago - on SW. People were always talking about open source code, this or that... but rarely was it the case that you actually ever touched the actual source code, instead you downloaded the precompiled installer.
-
@Dashrender said in When is Something Built from Source:
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
@scottalanmiller said in When is Something Built from Source:
@Dashrender said in When is Something Built from Source:
So I don't see this big tip off you're talking about. I will admit that I'm looking at this through my Windows admin goggles.
Actually use those goggles. Tell me when anyone has snuck a compiler past you on Windows? I bet the answer is... never. You've never downloaded source code and run "commands" and ended up with executables. It just doesn't happen - it's that complex and Windows is much more predictable as a single OS than Linux is as an OS family.
Oh, you're right, I don't believe that has ever happened on Windows, but then again, scripting things like this wouldn't be common on Windows, nor using source to make things work on Windows (for the every-admin/generalist). If I can't find the precompiled version, I move on to something else.
It isn't common on Linux, either. I've done it, but I go years in between doing it and have never done it for production.
Right - OK that makes sense. I recall you talking about this years ago - many years ago - on SW. People were always talking about open source code, this or that... but rarely was it the case that you actually ever touched the actual source code, instead you downloaded the precompiled installer.
Right. Let's use top as an example. It is a small, open source, C language, compiled application for Linux.
You can get access to and check the source code any time that you want. That means that you are free to compile it yourself anytime that you want, too. But I've never seen someone do this (outside of those weirdos using Gentoo.)
You use rpm -i top and it downloads the pre-compiled, verified binary from your repo and just puts that in the right place, easy peasy.
But if you wanted to modify the source code and compile it yourself for your own version of top, of course that is totally allowed and completely feasible and actually very simple to do (assuming you know how to program in C.)
-
So @scottalanmiller would you call https://github.com/Jarli01/xenorchestra_installer a "precompiled installer"?