def METHOD_NAME(module_, init_func=None):
    """Registers the given python package as a Zope 2 style product
    """
    if not hasattr(module_, '__path__'):
        raise ValueError("Must be a package and the "
                         "package must be filesystem based")
    registered_packages = get_registered_packages()
    registered_packages.append(module_)
    # Delay the actual setup until the usual product loading time in
    # OFS.Application. Otherwise, we may get database write errors in
    # ZEO, when there's no connection with which to write an entry to
    # Control_Panel. We would also get multiple calls to initialize().
    to_initialize = get_packages_to_initialize()
    to_initialize.append((module_, init_func,))