A program exchange method by a program exchange system, the program exchange system including i) an image forming apparatus that is connected to a first local area network (LAN), ii) a version acquiring server that is connected to the first LAN, and is configured of a computer, iii) an exchange information managing server that is connected to a second LAN, and is configured of one or more computers, and iv) a program exchange server that is connected to a third LAN, and is configured of one or more computers, and v) an Internet that is connected to the first LAN, the second LAN, and the third LAN, the program exchange method comprising:
- via the version acquiring server,
- acquiring from the image forming apparatus a version of a firmware program on the image forming apparatus and a version of an application program on the image forming apparatus;
- via the exchange information managing server,
- storing exchange information input from outside via the Internet, wherein the exchange information i) indicates a necessity to exchange at least one of the firmware program on the image forming apparatus and the application program on the image forming apparatus, and ii) is stored each corresponding to a combination of the version of the firmware program and the version of the application program;
- and
- via the program exchange server,
- acquiring from the exchange information managing server the exchange information via the Internet,
- acquiring from the version acquiring sever the version of the firmware program and the version of the application program via the Internet,
- determining the necessity to exchange at least one of the firmware program and the application program, based on the acquired exchange information and the combination of the acquired version of the firmware program and the acquired version of the application program, and
- exchanging at least one of the firmware program and the application program, when determining there is the necessity to exchange.