What does "full source package" mean - operating-system

I am currently installing an operating system on an FPGA card that I have (on its microprocessor). Although, when doing some research, I have come across some OS's that are opensource, but others that are "full source." Does anyone happen to know if full source means opensource (or available for free)?
Thank you in advance

"Full source" probably means that you can build the operating system but that it is not open source. If it was open source, they would use that term instead of "full source".
You have to look at the license for the operating system to see if it is open source. If it is not open source, there will be restrictions on what you can do with the source code of the operating system.
The Open Source Initiative has a good definition of "open source":
http://opensource.org/osd
There are a bunch of details, but the summary is:
Open source software is software that can be freely used, changed, and shared (in modified or unmodified form) by anyone. Open source software is made by many people, and distributed under licenses that comply with the Open Source Definition.

Jamey is right.
"Full source" might mean this:
You can get the OS, but it might cost money. You can also get the source code; I dunno whether or not there might be a further additional fee to get it.
Nobody can distribute modified versions. Therefore, if the vendor goes out of business, maybe no new versions will ever be released.
There might be other restrictions on what you can do with the software and/or the source code.
"Open source" means you can almost surely get the source code for free, and make whatever changes you want. It also means that (if the original vendor goes bankrupt) someone else might take over maintainership and start releasing further new versions for free.

Related

Can Windows Theme files (aero.msstyles) be sideloaded with spyware in their resources, specifically in UI scripts

Short version: see topic
Detailed version:
I want to use a specific 3rd party theme for Windows. I'm already using an open source solution which I've compiled myself to disable Window's restriction on Themes.
In the past, when using 3rd party theme related mods that come with DLLs (for example authui.dll for the login ui, or imageres.dll for modding system icons), I avoid using unknown DLLs by simply copying the unknown DLL's theme related resources (such as Bitmaps, Icon groups or UI scripts) unto it's virgin MS Dll counterpart. I call this resource grafting, where resource are changed but the executable elements of DLLs or exes are left alone.
Going back to the theme I want to install, I used sha256 hashing to determine that only aero.msstyles which is also modifiable by resource hacker. So I did the same thing I usually do and transferred resources from the third party theme to Window's own aero.msstyles. Problem is that I ran into a type of resource that I am unable to read or know the contents of. It's called VARIANT. From some experiments done in a VM, it seems to be some kind of binary UI script that resource hacker is unable to decompile. I usually like to be able to read any UI scripts that I transfer but I am unable to do so with this one.
Would this constitute any real security risks? Can UI scripts be side-loaded with some kind of exploit? Seems unlikely to me since the function of a theme file (msstyle) is to coordinate the appearance of the system UI but I don't know enough about the inner working of the whole theming system to be sure. I thought I'd get some other point of views before I take the theme out of the Virtual Machine.
I used vBinDiff to compare the hex code the altered VARIANT/NORMAL binary to that of the original theme. You can also copy the binhexes and save them to two text files which you would compare with WinMerge.
vBinDiff and WinMerge will highlight what modifications and what additions/substractions were made to the binaries, displaying them side by side. I read through the differences, 90% of them were no larger than 4 octals (4bytes), typically what you would expect to see when modding colors using a hex editor. The biggest divergence was an added 32bytes of code.
There are two possible explanations for the such an addition: (1) the author added extra image resources and added the entries necessary to reference them, (2) there is some kind of unwanted code that has been slipped in.
To address the possibility of 2, I did a search to see how small trojan code can get. How likely is it that a trojan has been stuffed into 32bytes if compiled UI scripts? I found a few mentions of an old 17byte virus from the DOS era called trivial which I disegarded right away because it would become apparent very quickly given it's known behavior. As far as full fledged trojans with backdoor and downloading abilities, the smallest I found was 20kb (trojan tinba), discovered in 2012. There is also Catchy32 which is still considered a Trojan but with simpler and very specific functionalities and that one's about 580 bytes (reference). Based on this info, I established that it is highly unlikely (if not impossible) to slip any code in 32bytes of code and established that the resource in question is clean.
Mind you, this doesn't answer the question I asked (can binary UI script resources in a theme carry mal-code) but it does solve my dilemma. Thought I'd share it.

Test for compatibility in Matlab

I'm working with an open source Matlab toolbox which, according to its creators, is compatible for versions of Matlab over 7.6, i.e., R2008a. I tried to run it in R2011b and it threw the exception: Undefined variable "Simulink" or class "Simulink.Mask.create"
Since:
1- Simulink is installed and functional in this R2011b;
2- I have already run the same code in a R2014b successfully;
I conclude that this is a problem of compatibility -In contrast to their claim, their code is compatible for some version later than R2011b-.
I wish I could contribute with them by directly telling them, not only that their code is not compatible with Matlab 7.6, but also the earliest version in which the statement associated with Simulink.Mask.create would run.
So, in precise terms, MY QUESTION IS: Given a command, built-in function, namespace resolution sequence, or whatever feature that I can find in some version of Matlab, what is the way of knowing what is the earliest version in which that feature is active?
I have tried http://www.mathworks.com/help/simulink/release-notes.html which is not searchable or navigable the way I wish it was.
This is a common problem. This page talks of the same problem - claiming that there is no good solution... It does however come with a smart way of searching through the release notes:
Click on the bottommost unexpanded release, to expand the it.
Click on "expand all" all link to expand all link just below.
If any unexpanded releases remain goto 1.
Now use the browser search functionality (often ctrl+f) to search the fully expanded page.
Good luck!
EDIT:
To see older releases too you need to start with the following step:
0: Click the link in the bottom saying "View release notes for older releases".
And then continue like above.
I don't think there is a straightforward way to find what you want.
In my opinion you have to do it manually for each version of MATLAB
in order to find is certain feature supported or not.
Some feature may be obsolete or may exist a bug.
So the best way to do is :
A) Look at particular version of relase notes, for example ,let say R2011a
New Features, Bug Fixes, Compatibility Considerations
click on "expand all", then use find "your keyword" in your browser
( be careful about case sensitivity)
You also have "Compatibility Summary", search it, too.
B) If something is very important and you are sure there is an issue
just email to customer service and ask for further steps
and who may contact further.

Finding previously deleted code in RTC later?

Conventional wisdom says to delete code once you don't need it -- as opposed to leaving it in the codebase as a comment -- because you can always find it later in the repository.
Let's say I need a line of code from the past which I remember to contain a very memorable substring ("XYZ", for discussion's sake).
What are my options for finding the previously deleted code using the Visual Studio 2010 Rational Team Concert (3.x) client? Can I search only the revisions of a single file (I might not know what file it was in)? Can I search quickly/easily across many files (w/o pulling those files out of the repository)?
I am not sure there is an easy way to get back the exact file with that missing string.
You can select show the history on a component of a Stream, in order to "Show the History files" for a given change set.
From there, you can do some "compare with Local File".
However, the Visual Studio integration might be less complete than the eclipse one, as this thread shows (where the "Show History" shows only the history of Deliver's).
Even though the following article uses the Eclipse GUI, have also a look at "Practicing source control archaeology with Rational Team Concert", which has other ideas for you to try.

Automatic Online Upgrade

I installed Acrobat Reader 9.0 last month,
Each time I open a pdf document, I get small icon which says some updates are available,
If I say, it goes ahead and install the updates.
Anyone know what is the technology behind this , any paper, details.
Nothing fancy, when you launch the program it "phones home" to Adobe and checks its current version against the latest one available. Typically it's a simple HTTP exchange, although some products may use something besides HTTP/HTTPS.

How do "directory VIEWS" auto-update their file list?

I am just curious about this.
I had a network folder open on one computer viewing the files in the folder. From another computer I opened the same folder on the network and deleted a file. On the first computer the deleted file immediate disappeared from the list.
The only way that I can think of how it knows that is that it is constantly checking the contents of the open folder. But that sounds like it would waste a lot of resources to do, but I cannot think of any other way it could do that. So I was just wondering...how does that work?
Thanks.
It's probably a push notification. Rather that the client computer constantly checking, the server sends a message to the client when a change is made.
You never specified what platform you're interested in. In general, the only thing that is portable is polling to see when a file or directory has been updated. Polling once a second or so is generally not too expensive, though over a network file system it may be too much.
Various platforms offer a variety of solutions for being notified when filesystems change. Moder versions of Linux provide inotify. Mac OS X provides the FSEvent system. On Windows there is a directory change notification system.