Saturday, May 11, 2024
 Popular · Latest · Hot · Upcoming
7
rated 0 times [  7] [ 0]  / answers: 1 / hits: 702  / 2 Years ago, sun, march 6, 2022, 8:44:49

Hello
I am using Ubuntu 20.04 and I am new to it. See the image below:
enter image description here


I can see here a main PPA and an additional main PPA (Source Code). What's the difference between them? Are both required? Thank you.


More From » 20.04

 Answers
5

Edit: At the time this answer was written, the question's original title read:



What's a source code?



This answer was composed to address that form of the question.




When humans write software, they need to design the coding language such that it makes a lot of sense; it's easy enough to grasp what is going on, thus it's easy enough to work with it.


But such code:



  • in order to work, it needs a lot of other programs to be present and run on the computer

    • this makes distributing it more complex and challenging



  • tends to run pretty slow on computers


Solving both of these challenges involves running the original, human-friendly code through a sort of "converter" (often called "compiler"), that takes in the original written by people, and outputs something that:



  • has a lot of the (originally) externalized variables and logic baked in

    • the code will be less readable and less flexible

    • but it will be more self-efficient and will need the presence of less helper programs



  • is further optimized for machines to run it

    • such code can outperform (speed-wise) the previously discussed variant by the factor of dozens or hundreds




There may be various degrees of differences between the variants. The original human-optimized code is always readable to you and to other humans, containing words and logical constructs that you can recognize; machine-optimized code however, at its most extreme, may indeed consist just of 0s and 1s; just by looking at it, you would have no chance forming an idea what it does.


From the aforementioned variants, the first, human-optimized one is called the "source code".


The compiled, machine- and distribution-optimized variants sometimes fall into a category that's called a "binary".


The interesting impact is that when someone gives you only the machine/distribution-optimized variant (e.g. binaries), then you can use the software, but cannot change how it works or what it does. (And creating copeies of it might also be challenging.) Often it's a lot of work even for experts to look into it somehow and figure out how it works (called reverse-engineering).


But when somebody lets you have the human-optimized source-code as well, along with the compiler that's necessary to compile it into its final, machine-optimized form, then you may have full control over that software: from then on, it only depends on the rights that the enclosed license grants you (which is usually pretty permissive in open-source projects).


In Ubuntu repositories, the source code of various software you use may be offered to you. But you need to download it only when you intend to change aspects of the software, and then compile a modified variant of it yourself. If you don't want to get into that, the source code is of little use to you.


[#1945] Tuesday, March 8, 2022, 2 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
eatack

Total Points: 245
Total Questions: 120
Total Answers: 113

Location: Estonia
Member since Wed, Jun 8, 2022
2 Years ago
eatack questions
Tue, Feb 8, 22, 20:50, 2 Years ago
Sat, May 20, 23, 13:30, 1 Year ago
Fri, Apr 28, 23, 06:04, 1 Year ago
;