### Body

Currently `start_date` is mandatory parameter.
For DAGs with `schedule=None` we can relax this requirement as no scheduling calculation needed so the `start_date` parameter isn't used.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
#
#
#
from __future__ import annotations
import asyncio
import collections
import copy
import functools
import itertools
import logging
import os
import pathlib
import pickle
import sys
import time
import traceback
import warnings
import weakref
from collections import deque
from contextlib import ExitStack
from datetime import datetime, timedelta
from inspect import signature
from typing import (
    TYPE_CHECKING,