a resource module for 2 functions is overkill. database is the right place for those
diff --git a/Lib/packaging/database.py b/Lib/packaging/database.py
index b107148..010c4eb 100644
--- a/Lib/packaging/database.py
+++ b/Lib/packaging/database.py
@@ -18,6 +18,7 @@
     'get_distributions', 'get_distribution', 'get_file_users',
     'provides_distribution', 'obsoletes_distribution',
     'enable_cache', 'disable_cache', 'clear_cache',
+    'get_file_path', 'get_file'
 ]
 
 
@@ -627,3 +628,17 @@
     for dist in get_distributions():
         if dist.uses(path):
             yield dist
+
+
+def get_file_path(distribution_name, relative_path):
+    """Return the path to a resource file."""
+    dist = get_distribution(distribution_name)
+    if dist != None:
+        return dist.get_resource_path(relative_path)
+    raise LookupError('no distribution named %r found' % distribution_name)
+
+
+def get_file(distribution_name, relative_path, *args, **kwargs):
+    """Open and return a resource file."""
+    return open(get_file_path(distribution_name, relative_path),
+                *args, **kwargs)