Understanding and using metaboxes in posts

To save:

// Update and save the field so it can be used in our template
if ( isset( $_POST['input_name'] ) ) {
    $data = sanitize_text_field( $_POST['input_name'] );
    update_post_meta( $post_id, 'field_name', $data );
}

To read:

$data = get_post_meta( $post_id, 'field_name', true );
// With post object, a leaner, cleaner method:
$data = $post->field_name;

There’s no need to register another metabox & write another callback. Just duplicate the first batch of echo in output_source_metabox() and change the label & name.

To fill the value with the saved data:

echo '<input ... value="' . esc_attr( get_post_meta( $post_id, 'field_name', true ) ) . '" ... />';

You’ll need another “save” block for this second field – just make sure to swap input_name for the name of the input, and field_name for the meta key you want to store this data as.