This commit is contained in:
Miloslav Ciz 2025-03-17 16:42:36 +01:00
parent 6f0a813940
commit f69e3a3e4b
16 changed files with 2006 additions and 1999 deletions

6
sw.md
View file

@ -2,10 +2,12 @@
Software (SW) are [programs](program.md) running on a [computer](computer.md), i.e. its non-physical parts (as opposed to [hardware](hw.md)); for example an [operating system](os.md), the Internet [browser](browser.md), [games](game.md) etc. Software is created by the act of [programming](programming.md) (and related activities such as [software engineering](sw_engineering.md) etc.).
Usually we can pretty clearly say what is software vs what is hardware, however there are also edge cases where it's debatable. Normally software is that about the computer which *can relatively easily be changed* (i.e. reinstalled by a typing a few commands or clicking a few buttons) while hardware is [hard-wired](hard_wired.md), difficult to modify and not expected or designed to be modified. Nevertheless e.g. some [firmware](firmware.md) is kind of software in form of instructions which is however many times installed in some special kind of memory that's difficult to reprogram and not expected to be reprogrammed often -- some software may be "burned in" into a circuit so that it could only be changed by physically rewiring the circuit (the [ME](intel_me.md) spyware in [Intel](intel.md) [CPU](cpu.md)s has a built-in [minix](minix.md) operating system). And this is where it may on occasion become difficult to judge where the line is to be drawn. This issue is encountered e.g. by the [FSF](fsf.md) which certifies some hardware that works with free software as *Respects Your Freedom* ([RYF](ryf.md)), and they have very specific definition what to them classifies software.
Usually we can pretty clearly say what is software vs what is hardware, however there are also edge cases where it's debatable. Normally software is that about the computer which *can relatively easily be changed* (i.e. reinstalled by a typing a few commands or clicking a few buttons) while hardware is [hard-wired](hard_wired.md), difficult to modify and not expected or designed to be modified. Nonetheless [firmware](firmware.md), for instance, is a kind of software in form of instructions which many times are stored in a special kind of memory that's difficult to be reprogrammed and not expected to be reprogrammed often -- some software may be "burned in" into a circuit so that it could only be changed by physically rewiring the circuit (the [ME](intel_me.md) spyware in [Intel](intel.md) [CPU](cpu.md)s has a built-in [minix](minix.md) operating system). See also [FPGA](fpga.md). There are cases where it may on occasion become difficult to drawn the line and distinguish hardware from software -- the issue was encountered for example by the [FSF](fsf.md) which certifies some hardware powered solely by free software as *Respects Your Freedom* ([RYF](ryf.md)): as part of the certification requirements they define what exactly they mean by "software".
## See Also
- [algorithm](algorithm.md)
- [free software](free_software.md)
- [shitware](shitware.md)
- [rapeware](rapeware.md)
- [rapeware](rapeware.md)
- [hardware](hw.md)