No, they are the same. All function declarations are external. The extern keyword says "I want to let you know this exist, but I'm not defining it here." With an int, this would be necessary, because a declaration is also a definition. With a function, the semicolon at the end is explicitly marking it as not defined here.
My best guess as to why they marked it extern is possibly because the function declaration is in the header file but the definition is not in the corresponding c file as one would usually expect. This is similar to how extern is usually used on an int type (where you want to declare it but you plan to link it in from some other source.) So it's a form of documentation.
This is the best explanation of linkage to me:
http://publications.gbdirect.co.uk/c_book/chapter4/linkage.html